簡體   English   中英

通過將字節流保存在C#中創建的Excel文件(.xlsx)無法打開

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM