页面打开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();
页面打开excel的更多相关文章
- 使EditText不要在页面打开时自动获取焦点(因为软键盘会自动弹出)
当页面上有EditText时,第一个EditText会在页面打开时自动的获取焦点,这样带来的问题就是系统键盘会自动的弹出来. 解决方法比较简单只要为EditText的父控件设置一下就行了: andro ...
- 麦咖啡阻挡正常打开Excel文件
双击打开Excel文件,提示如下图: Excel文件被麦咖啡做阻挡,无法正常打开 处理方案: 过一会儿还是出现此问题,干脆就把缓冲区保护给禁用掉
- Outlook不能预览和打开Excel文件:
无法打开Outlook邮箱中的Excel附件,确实让人恼火 先不要着急: 1.在开始->运行,输入"regedit" 2.找到路径:HKEY_CURRENT_USER\Sof ...
- C#中的Excel操作【1】——设置Excel单元格的内容,打开Excel文件的一种方式
前言 作为项目管理大队中的一员,在公司里面接触最多的就是Excel文件了,所以一开始就想从Excel入手,学习简单的二次开发,开始自己的编程之路! 程序界面 功能说明 打开文件按钮,可以由使用者指定要 ...
- 打开Excel的报错,提示:不能使用对象链接和嵌入
计算机这几天在打开Excel文档的时候,提示:不能使用对象链接和嵌入, 而且出现如下的提示:Microsoft Office Excel进程已停止工作, 每次打开Excel的时候都是同样的问题,害我跟 ...
- 页面打开 抛出w3wp.exe 中发生未处理异常
页面打开 抛出w3wp.exe 中发生未处理异常
- 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法
-----转载:http://blog.csdn.net/sgear/article/details/7663502 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格 ...
- VB中后台打开Excel文件实现代码
某些时候需要打开Excel文件来获取或者写入数据,但又不希望跳出打开的Excel文件窗口,可以用下面的代码: Dim eb As New excel.Application, wb as excel. ...
- VUE路由新页面打开的方法总结
平常做单页面的场景比较多,所以大部分的业务是在同一个页面进行跳转.要通过VUE路由使用新页面打开且传递参数,可以采用以下两个方法: 1.router-link的target <router-li ...
随机推荐
- python数据库基础
1.数据类型:(使用原则:够用就行,尽量使用范围小的) 整数:int,bit 小数:decimal 字符串:varchar(可变长度),char(固定长度字符串) 日期时间:date,time,dat ...
- PowerBuilder学习笔记之8.5高级窗口控件
1.列表框控件 列表框控件(ListBox).图片列表框控件(PictureListBox).下拉列表框控件(DropDownListBox)以及下拉图片列表框控件(DropDownPictureLi ...
- javascript-state-machine
import StateMachine from 'javascript-state-machine' import EventEmitter from 'events' /** * 上传的文档的状态 ...
- 手动实现自己的spring事务注解
spring事务是基于同一个数据连接来实现的,认识到这一点是spring事务的关键,spring事务的关键点便在于在事务中不管执行几次db操作,始终使用的是同一个数据库连接.通过查看源码,我们可以看到 ...
- Python通用爬虫,聚焦爬虫概念理解
通用爬虫:百度.360.搜狐.谷歌.必应....... 原理: (1)抓取网页 (2)采集数据 (3)数据处理 (4)提供检索服务 百度爬虫:Baiduspider 通用爬虫如何抓取新网站? (1)主 ...
- (面试题)请用C语言实现在32位环境下,两个无符号长整数相加的函数,相加之和不能存储在64位变量中
分析:长整数相加,将结果分为高位和低位部分,分别保存在两个32整数中. 比如:unsigned int a = 0xFFFFFFFF, unsigned int b = 0x1, 结果用unsigne ...
- html+css+javascript网页制作技巧总结1
(一)div.元素居中中显示方法: 1.宽度要有实际值或百分比值 2.margin:0px auto; 文本内容居中显示的方法: 1.text-align:center; 2.line-height: ...
- 加快JavaScript加载和执行效率
JavaScript 在浏览器中的性能成为开发者所面临的最重要的可用性问题.而这个问题又因 JavaScript 的阻塞特性变的复杂,也就是说当浏览器在执行 JavaScript 代码时,不能同时做其 ...
- C#-MailHelper
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- (转)大厂常问到的14个Java面试题
1. synchronized和reentrantlock异同 相同点 都实现了多线程同步和内存可见性语义 都是可重入锁 不同点 实现机制不同 synchronized通过java对象头锁标记和Mon ...