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();

页面打开excel的更多相关文章

  1. 使EditText不要在页面打开时自动获取焦点(因为软键盘会自动弹出)

    当页面上有EditText时,第一个EditText会在页面打开时自动的获取焦点,这样带来的问题就是系统键盘会自动的弹出来. 解决方法比较简单只要为EditText的父控件设置一下就行了: andro ...

  2. 麦咖啡阻挡正常打开Excel文件

    双击打开Excel文件,提示如下图: Excel文件被麦咖啡做阻挡,无法正常打开 处理方案: 过一会儿还是出现此问题,干脆就把缓冲区保护给禁用掉

  3. Outlook不能预览和打开Excel文件:

    无法打开Outlook邮箱中的Excel附件,确实让人恼火 先不要着急: 1.在开始->运行,输入"regedit" 2.找到路径:HKEY_CURRENT_USER\Sof ...

  4. C#中的Excel操作【1】——设置Excel单元格的内容,打开Excel文件的一种方式

    前言 作为项目管理大队中的一员,在公司里面接触最多的就是Excel文件了,所以一开始就想从Excel入手,学习简单的二次开发,开始自己的编程之路! 程序界面 功能说明 打开文件按钮,可以由使用者指定要 ...

  5. 打开Excel的报错,提示:不能使用对象链接和嵌入

    计算机这几天在打开Excel文档的时候,提示:不能使用对象链接和嵌入, 而且出现如下的提示:Microsoft Office Excel进程已停止工作, 每次打开Excel的时候都是同样的问题,害我跟 ...

  6. 页面打开 抛出w3wp.exe 中发生未处理异常

    页面打开 抛出w3wp.exe 中发生未处理异常

  7. 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法

    -----转载:http://blog.csdn.net/sgear/article/details/7663502 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格 ...

  8. VB中后台打开Excel文件实现代码

    某些时候需要打开Excel文件来获取或者写入数据,但又不希望跳出打开的Excel文件窗口,可以用下面的代码: Dim eb As New excel.Application, wb as excel. ...

  9. VUE路由新页面打开的方法总结

    平常做单页面的场景比较多,所以大部分的业务是在同一个页面进行跳转.要通过VUE路由使用新页面打开且传递参数,可以采用以下两个方法: 1.router-link的target <router-li ...

随机推荐

  1. Smart3D飞控&地方坐标系

    资源 ContextCapture(原Smart3D)教程 | Wish3D 航测数据处理答疑55问!涉及CC.Pix4D.Photoscan.EPS等常见软件问题_云进行 飞控软件 Smart3D常 ...

  2. SPA中使用jwt

    什么是jwt? JSON Web Token (JWT),它是目前最流行的跨域身份验证解决方案 JWT的工作原理 1. 是在服务器身份验证之后,将生成一个JSON对象并将其发送回用户,示例如下:{&q ...

  3. Istio技术与实践6:Istio如何为服务提供安全防护能力

    凡是产生连接关系,就必定带来安全问题,人类社会如此,服务网格世界,亦是如此. 今天,我们就来谈谈Istio第二主打功能---保护服务. 那么,便引出3个问题: l  Istio凭什么保护服务? l  ...

  4. 序列方差[NTT]

    也许更好的阅读体验 \(\mathcal{Description}\) 给你一个长度为\(n\)的数组\(a\) 你会得到 \(q\) 条指令, 分两种: \(1\ l\ r\ w\) 表示把 \(l ...

  5. Vue自定义指令和自定义过滤器

    一.自定义指令: 自定义指令分为两种:全局自定义指令和局部自定义指令 全局指令指所有组件都可以使用,局部指令是只有在当前组件中才可以使用. 如,我们现在有个需求,当一个输入框获取焦点时,显示出一个di ...

  6. 怎样修改vim的缩进

    默认vim的tab缩进是八个空格, 太长了, 需要改短一点. 第一步: 找到vimrc文件所在位置 # find / -name vimrc 第二步: 找到以后用vim打开vimrc文件并增加下面两行 ...

  7. jmeter命令行执行脚本_动态参数设置

    从04月换公司开始,就没静下来心来学习,其中发生了比较多的事情吧,不过不管如何,没坚持学习还是因为懒.本周交接完,下周去入职新公司,该静下心来学点什么了. ---------------------- ...

  8. ASP.NET MVC 5 伪静态之支持*.html路由

    参考了例子 到自己实践还是有不少坑要踩,这种文章,你说它好还是不好呢 注意这里的版本是ASP.NET MVC 5 首页的URL为  http://localhost:58321/index.html  ...

  9. SS L服务

    WebHttpBinding _binding = new WebHttpBinding(); WebServiceHost ws = new WebServiceHost(typeof(Servic ...

  10. WSL 服务自动启动

    WSL 服务自动启动 参考 https://zhuanlan.zhihu.com/p/47733615 Windows 启用 WSL 功能支持 > Enable-WindowsOptionalF ...