数据比较复杂,涉及到合并单元格的
解决方案 »
- 关于mschart的问题
- mvc架构与三层架构相比有什么优势、为什么mvc那么热乎呢
- 请教谁用过Membership?
- 关于iframe的问题,麻烦高手来解决一下!
- 谁能给我一个支持多表查询和任意排序的通用存储过程分页吗?
- 初学者问题`为什么不执行这个代码呢
- 请教:填充DropDownlist后为什么改变了原列表项?
- 在Asp中用SQL语句向Access中添加记录怎么不行啊!向高手请教
- ASP.NET MVC中用jquery load的局部刷新
- asp.net mvc 路由注册一定要放在Global文件中吗?
- 是否能够js改变title ,查看Html代码是改变后的内容?
- 问点关于这个 EditorGridPanel的
ApplicationClass excel;
int rowIndex = 1;
int colIndex = 1;
_Workbook xBk;
_Worksheet xSt;
string sTimes = DateTime.Now.ToString("yyyyMMddHHmmss");
string strFileName = "";
System.IO.FileInfo file;
excel.Cells[rowIndex, colIndex]=“aa” 给excel第一行第一列赋值
xSt.get_Range(excel.Cells[1, 1], excel.Cells[1, 14]).Merge(14);\\合并第一行1到14列
#region 保存文件
strFileName = Server.MapPath("Uploads/qafiles/") + "QAIndividualQC" + sTimes + ".xls";
xBk.SaveCopyAs(strFileName); xBk.Close(false, null, null); excel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(xBk);
System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xSt);
xBk = null;
excel = null;
xSt = null;
GC.Collect(); file = new System.IO.FileInfo(strFileName);
Response.Clear();
//Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF8;
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name));
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
Response.AddHeader("Content-Length", file.Length.ToString());
// 指定返回的是一个不能被客户端读取的流,必须被下载
Response.ContentType = "application/ms-excel";
// 把文件流发送到客户端
Response.WriteFile(file.FullName);
Response.Flush();
file.Delete();
// 停止页面的执行
Response.End();
#endregion
参见
http://dotnet.aspx.cc/file/Export-Gridview-To-Excel-With-Multi-Sheet.aspx
{
string strText = Export();
ExportExcel(this, "测试表", strText);
} /// <summary>
/// 导出
/// </summary>
/// <returns>要导出的内容</returns>
public string Export()
{
StringBuilder table = new StringBuilder();
table.Append(@"<table class='table'><tr><td class='td_center' colspan='2'>第一行(共2列)</td></tr>");
table.Append("<tr><td class='td_center' rowspan='3'>第二、三、四行第一列</td><td class='td_center'>第二行第二列</td></tr>");
table.Append("<tr><td class='td_center'>第三行第二列</td></tr>");
table.Append("<tr><td class='td_center'>第四行第二列</td></tr>");
table.Append("</table>");
return table.ToString();
}
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="page">操作页面</param>
/// <param name="fileName">导出的文件名称</param>
/// <param name="text">要导出的内容</param>
public void ExportExcel(Page page, string fileName, string text)
{
page.EnableViewState = false;
try
{
page.Response.ClearContent();
page.Response.Buffer = true;
page.Response.Charset = "GB2312";//设置字符集,解决中文乱码问题
page.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
page.Response.Write("<meta http-equiv=Content-Type content=\"text/html;charset=GB2312\">");//解决乱码问题
//解决HTTP头中文乱码问题
string strExcelText = DateTime.Now.ToShortDateString() + "\t" + fileName;//Excel显示的内容
string strEncode = System.Web.HttpUtility.UrlEncode(strExcelText, System.Text.Encoding.UTF8);//进行编码的格式,用gb2312出错
page.Response.AddHeader("content-disposition", "attachment;filename=\"" + strEncode + ".xls\"");//对保存标题进行编码
page.Response.ContentType = "application/vnd.xls";//设置输出格式
page.Response.Write(@"<html><head><style>.table{border: 1px solid #000000;padding:0;margin:0 auto;border-width: thin;border-collapse: collapse;}
.td_head{border: 1px solid #000000;border-width: thin;text-align:center;font-size:12px;padding: 3px 3px 3px 8px;background: #000000;}
.td_left{border: 1px solid #000000;font-size:12px;border-width: thin;text-align:left;padding: 3px 3px 3px 8px;mso-number-format:\@;}
.td_left_number{border: 1px solid #000000;font-size:12px;border-width: thin;text-align:left;padding: 3px 3px 3px 8px;}
.td_center{border: 1px solid #000000;font-size:12px;border-width: thin;text-align:center;padding: 3px 3px 3px 8px;mso-number-format:\@;}
.td_center_number{border: 1px solid #7777cc;font-size:12px;border-width: thin;text-align:center;padding: 3px 3px 3px 8px;}
.td_right{border: 1px solid #000000;font-size:12px;border-width: thin;text-align:right;padding: 3px 3px 3px 8px;mso-number-format:\@;}
.td_right_number{border: 1px solid #000000;font-size:12px;border-width: thin;text-align:right;padding: 3px 3px 3px 8px;}
</style></head><body>");
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
htw.WriteLine(text);//将数据输出
page.Response.Write(sw.ToString());
page.Response.Write("</body></html>");
page.Response.Flush();
page.Response.End();
}
catch
{
return;
}
finally
{
//恢复原来控件内容
page.EnableViewState = true;
}
}