Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#导出到excell_C#_Excel_Export - Fatal编程技术网

C#导出到excell

C#导出到excell,c#,excel,export,C#,Excel,Export,操作结果: var strLawTable = new StringBuilder(); strLawTable.Append("<thead>"); strLawTable.Append("<tr>"); strLawTable.Append("<th style=\"text-align: right\">Dollar</th>"); strLawTable.Append("</tr>");

操作结果:

var strLawTable = new StringBuilder();

    strLawTable.Append("<thead>");
    strLawTable.Append("<tr>");

    strLawTable.Append("<th style=\"text-align: right\">Dollar</th>");

    strLawTable.Append("</tr>");
    strLawTable.Append("</thead>");   

strLawTable.Append("<tbody>");

foreach (Currency currency in Model.List)
{
strLawTable.Append("<tr>");

strLawTable.Append("<th style=\"text-align: right\">" + GetExcellFormatString(Currency.USD) + "</th>");

strLawTable.Append("</tr>");
}

strLawTable.Append("</tbody>");


string headerTable = "<table>" + strLawTable + "</table>";      

Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=TestFile.xls");
Response.ContentType = "application/ms-excel";

Response.ContentEncoding = System.Text.Encoding.Unicode;
Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());

System.IO.StringWriter sw = new System.IO.StringWriter();
sw.Write(headerTable);

System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(sw);

Response.Write(sw.ToString());
Response.End();
我的问题:

我的客户更改了windows上的区域设置,他们看到

 3.50 as "May50"

20.50 as "Apr15"

etc..
Excel格式在我的计算机上是正确的,但在客户的计算机上它总是显示日期文本

我也尝试了下面的但是仍然是相同的问题

byte[] fileContents = Encoding.UTF8.GetBytes(headerTable);

return File(fileContents, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Test.xls");
我尝试了这么多的解决方案(返回文件等),我错过了确切的地方,我需要补充什么

我可以使用
返回文件
操作结果
中的任何内容,我只需要解决方案

谢谢。

更改此行

strLawTable.Append("<th style=\"text-align: right\">" + GetExcellFormatString(Currency.USD) + "</th>");
strLawTable.Append(“+getExcelFormatString(Currency.USD)+”);
作为:

strLawTable.Append(“=\”+getExcelFormatString(Currency.USD)+“\”);

注意前后的“=”和“

起作用了:)非常感谢你,我的朋友。我只想再问你一个问题。我不能在excell文件中求和美元。因为它是字符串,所以它显示“100.00”,它必须是100.00。如果您也知道这一点,我如何解决这个问题?感谢它的帮助。别忘了将我的答案标记为答案(呵呵,贪婪的我:P),为什么要在excel中对美元进行求和,而不是在代码中求和,然后将其放入excel。客户希望对所选行的美元求和,这就是我问的原因,我不明白你最后一句话的意思谢谢我的意思,在代码本身中添加美元值。不要将数据汇总留在excel中。添加美元的所有值,然后添加一个用于显示该总额的值。就这样。告诉您要显示货币的总和。美元值是否正确?如果这是你想要的,在另一个问题中发布,我将无法在这里帮助你,因为它不允许我在评论中与你谈论太多。只要把你的问题作为另一个问题发布,我或其他人会回答你的问题。:)导出excell文件后。客户想要加1。第二排和第三排。第二排和第七排。行等(取决于客户)手工操作。他按下“ctrl”键,用鼠标选择并选择他想要的任何一行,然后在Excel文件中编写查询并对所选行进行求和。他不能求和,因为行是字符串“100”等。必须是100才能求和。
strLawTable.Append("<th style=\"text-align: right\">" + GetExcellFormatString(Currency.USD) + "</th>");
strLawTable.Append("<th style=\"text-align: right\">=\"" + GetExcellFormatString(Currency.USD) + "\"</th>");