将excel文件转换为MemoryStream 流用于浏览器中下载

将excel文件的内容转换为MemoryStream流,使得文件可在浏览器中下载,在浏览器中下载文件可用相应的File()函数即可。

TemplateFilePath是文件存放的路径,包括文件名。

 public static MemoryStream file_to_ms(string TemplateFilePath)
        {

            FileStream fileStream = new FileStream(TemplateFilePath, FileMode.Open); 

            byte[] buffer = new byte[10000];
            MemoryStream outputStream = new MemoryStream();
            int sourceBytes;
            int i = 1;
            do
            {
                sourceBytes = fileStream.Read(buffer, 0, buffer.Length);
                if (i == 0)
                {
                    foreach (byte b in buffer)
                    {
                        Console.WriteLine(b);
                    }
                }
                i += 1;
                //文件写入到流中
                if (sourceBytes != 0)
                {
                    outputStream.Write(buffer, 0, sourceBytes);
                } 
  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Excel文件保存为文件,您可以使用`MemoryStream`类来实现。下面是一个示例代码: ```csharp using OfficeOpenXml; using System.IO; // 创建一个新的Excel文件 using (ExcelPackage package = new ExcelPackage()) { // 添加工作表 ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1"); // 在工作表填充数据 worksheet.Cells["A1"].Value = "Hello"; worksheet.Cells["B1"].Value = "World"; // 保存Excel文件到内存 using (MemoryStream stream = new MemoryStream()) { package.SaveAs(stream); // 将的位置重置为起始位置,以便后续读取 stream.Position = 0; // 在这里可以使用进行一些操作,比如上传到云存储或者提供给前端下载 // 例如,将保存为本地文件 using (FileStream fileStream = new FileStream("path/to/save/excel.xlsx", FileMode.Create)) { stream.CopyTo(fileStream); } } } ``` 在上述代码,我们首先创建一个新的Excel文件,并在工作表填充一些数据。然后,我们使用`MemoryStream`来保存Excel文件。通过在`SaveAs`方法传入`MemoryStream`对象,可以将Excel文件保存到。 在这个示例,我们将保存为本地文件,但您也可以根据需要对进行其他操作,例如上传到云存储或提供给前端下载。 请注意,在使用完后,应该调用`Dispose()`方法来释放资源,并确保在使用完后将其关闭。 希望这个示例对您有所帮助!如果您有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值