我需要在我正在处理的 Windows 应用程序中生成 PDF 报告,我通过将 .xlsx 文件导出为 pdf 来完成此操作。我目前为此使用互操作,但是:
我尝试过的事情:
帮助将不胜感激,在此先感谢您:)
夏普
我会使用它,除非我需要导出一个具有可变列数(最多 30 列)的大 DataTable,如果有很多列,那么处理该列溢出会变得非常复杂,这在互操作中很容易。
Aspose
似乎太贵了,因为我在一家目前资源非常有限的小公司工作。
我正在使用 ownCloud(开源云),并且我有一个表单来上传文件,该表单将发布请求发送到处理上传的 upload.php 文件。请求有很多字段,需要发送所有信息和 cookie。
我需要开发 ac# 代码来将文件上传到云端。在我看来,最好的方法是提出一个类似于表单请求的请求。你怎么看?有什么建议?
ps 我阅读了以下解决方案,但它不起作用。 在 c# 中使用 HTTP POST 发送文件 http://bytes.com/topic/c-sharp/answers/268661-how-upload-file-via-c-code 使用 HTTPWebrequest (multipart/form-data) 上传文件
谢谢
这是一些代码:
表格:
<form data-upload-id='1'
id="data-upload-form"
class="file_upload_form"
action="<?php print_unescaped(OCP\Util::linkTo('files', 'ajax/upload.php')); ?>"
method="post"
enctype="multipart/form-data"
target="file_upload_target_1">
<input type="hidden" name="MAX_FILE_SIZE" id="max_upload" value="<?php p($_['uploadMaxFilesize']) ?>">
<input type="hidden" name="requesttoken" value="<?php p($_['requesttoken']) ?>" id="requesttoken">
<input type="hidden" class="max_human_file_size" value="(max <?php p($_['uploadMaxHumanFilesize']); ?>)">
<input type="hidden" name="dir" value="<?php p($_['dir']) ?>" id="dir">
<input type="file" id="file_upload_start" name='files[]'/>
<a href="#" class="svg"></a>
</form>
Run Code Online (Sandbox Code Playgroud)
这是我看到的请求的方式:
enter code here
Request URL:http://my-url/owncloud/index.php/apps/files/ajax/upload.php
Request Method:POST
Status …
Run Code Online (Sandbox Code Playgroud) 我正在尝试发出一个网络请求并用希伯来语发送一个帖子数据,但服务器端得到它像“?????” 而不是希伯来语。
WebRequest request = WebRequest.Create(MyserverClient.Url + Constants.TaskUpdatePropertyURL);
((HttpWebRequest)request).AllowAutoRedirect = false;
((HttpWebRequest)request).KeepAlive = true;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded;";
request.Headers.Add("Pragma: no-cache");
request.Headers.Add(string.Format("Cookie: {0}", Client.phpId));
request.Headers.Add(string.Format("requesttoken: {0}", requestToken));
string postData = "Some Non-english text";
using (Stream dataStream = request.GetRequestStream())
{
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
}
try{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// Get the stream containing content returned by the server.
Stream dataStream2 = response.GetResponseStream ();
// Open the stream using a StreamReader for easy access.
StreamReader …
Run Code Online (Sandbox Code Playgroud)