• 页面打开excel


    1. File => Stream / MemoryStream


    FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.None);
                    try
                    {
                        MemoryStream stream2 = new MemoryStream();
                        try
                        {
                            byte[] buffer = new byte[0x1000];
                            int count = 0;
                            while ((count = stream.Read(buffer, 0, 0x1000)) > 0)
                            {
                                stream2.Write(buffer, 0, count);
                            }
                            if ((stream2 != null) && (stream2.Length > 0L))
                            {
                                return stream2;
                            }
                        }
                        catch
                        {
                            stream2.Close();
                        }
                    }
                    finally
                    {
                        if (stream != null)
                        {
                            stream.Close();
                        }
                        exporter.RemoveTempFiles();
                    }
                   
    2. String => File


                 FileStream fs = null;
                 string path = MapPath("~/" + summaryType + ".CSV");  
                 string content = csvHelper.ToString();
               //  fs = File.Create(path);
              //   fs.Write(System.Text.Encoding.Default.GetBytes(content), 0, content.Length);
                // fs.Write(System.Text.Encoding.UTF8.GetBytes(content), 0, content.Length);
               //  fs.Close();
                

                 fs = new FileStream(path, FileMode.Create, FileAccess.Write);
                 StreamWriter sw = null;
                 if (System.Text.Encoding.Default == System.Text.Encoding.GetEncoding("GB2312"))
                     sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
                 else
                     sw = new StreamWriter(fs, System.Text.Encoding.UTF8);
                
                 sw.Write(content);
                 sw.Close();
                
    3. File => IE open

    ExportDataToCSV(summaryType, type, days);  //Generate the excel
                    string path = MapPath("~/" + summaryType + ".CSV");
                    byte[] result = File.ReadAllBytes(path);

                    //  Response.ContentType = "application/vnd.ms-excel";
                    Response.ContentType = "text/CSV";
                    Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", summaryType + ".CSV"));
                    if (System.Text.Encoding.Default == System.Text.Encoding.GetEncoding("GB2312"))
                        Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
                    else
                        Response.ContentEncoding = System.Text.Encoding.UTF8;

                    // Response.BinaryWrite(new byte[] { 0xEF, 0xBB, 0xBF });
                    Response.BinaryWrite(result);
                   
                    if (File.Exists(path) == true)
                    {
                        File.Delete(path);   //Generate the excel
                    }
                    Response.End();

  • 相关阅读:
    数据结构-包含min函数的栈
    数据结构-顺时针打印矩阵
    数据结构-二叉树的镜像
    数据结构-树的子结构
    数据结构-合并两个排序的链表
    数据结构-反转链表
    数据结构-链表中倒数第K个节点
    数据结构-调整数组顺序使奇数位于偶数前面
    数据结构-在O(1)时间删除链表节点
    数据结构-打印1到最大的n位数
  • 原文地址:https://www.cnblogs.com/sui84/p/6777036.html
Copyright © 2020-2023  润新知