0

我可以使用 HttpResponseMessage 下载并设置所有标头参数,如下面的代码摘录所示:

downloadHttpResp.Content = new ByteArrayContent(dwlMemStream.ToArray());
//*******************************************************************************
downloadHttpResp.Content.Headers.Add("x-filename", fileName);
downloadHttpResp.Content.Headers.ContentType = new MediaTypeHeaderValue(mimeType);    
downloadHttpResp.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
downloadHttpResp.Content.Headers.ContentDisposition.FileName = fileName;

问题在于其中一列 - 它只是一个文本列(但下载和打开将其视为日期列)。例如,我有多个行列值出现为11 - 05,当下载保存或在 Excel 中打开时,它转换为11 月 05 日(就像它的日期一样)。我该如何解决这个问题?有没有其他方法可以克服,或者如果我可以设置的某些标头选项/设置将按原样保留数据并且在接收端不进行转换?任何帮助是极大的赞赏。

谢谢

4

2 回答 2

1

你可以尝试在出现之前添加 = 并且你出现在双引号中,如 ="11-05"

于 2017-07-10T19:08:25.383 回答
0

这看起来像是 Excel 读取文件的问题。例如,如果它是 CSV 或平面文件,则 excel 不知道这些值是什么并且会做出猜测。

除非您修改输出以避免与 Excel 应用程序冲突,否则这将超出您的控制范围

但是,如果正在下载的文件是实际的 excel 文件,那么您需要确保在最初保存/生成时正确配置值类型。

于 2017-07-10T19:48:43.237 回答