[英]Excel file (.xlsx) created by saving byte stream in C# cannot be opened
我正在嘗試將Excel(.xlsx)文件保存在發送到Web服務的磁盤中。 我使用的代碼如下,但是,當我單擊保存的文件時,它返回“文件已損壞,無法打開”錯誤。 但是,相同的方法適用於CSV文件。
string dataFile = await Request.Content.ReadAsStringAsync();
byte[] byteArray = Encoding.UTF8.GetBytes(dataFile);
MemoryStream stream_ = new MemoryStream(byteArray);
MultipartParser.MultipartParser mp = new MultipartParser.MultipartParser(stream_);
// Save Excel file
File.WriteAllBytes(@"C:\temp\output.xlsx", mp.FileContents);
以下工作,
string root = HttpContext.Current.Server.MapPath("~/App_Data");
var provider = new MultipartFormDataStreamProvider(root);
try
{
string fileName = "";
string fileLocalName = "";
var result = await Request.Content.ReadAsMultipartAsync(provider);
foreach (MultipartFileData file in provider.FileData)
{
fileLocalName = file.LocalFileName;
}
File.WriteAllBytes(@"C:\temp\output.xlsx", File.ReadAllBytes(fileLocalName));
}
感謝您的幫助,本·魯濱遜,丹尼爾·懷特,阿里·塞普里·Kh和費薩爾·哈菲茲提供了幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.