Response.Clear();
Response.Buffer= true;
//替换编码方式
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8) + ".xls");
//替换编码方式
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
10 个解决方案
#1
格式问题!
string style = "<style>.text{mso-number-format:\@;}</script>";
Response.Writeln(style);
#2
在简易的Jsp导出html版本的execl中所有的文件导出默认都是文本文件,这给业务人员带来了一些不必要的操作,建议使用下面的方法,可以调整导出的格式类型.
mso-number-format:"0" NO Decimals
mso-number-format:"0\.000" 3 Decimals
mso-number-format:"\#\,\#\#0\.000" Comma with 3 dec
mso-number-format:"mm\/dd\/yy" Date7
mso-number-format:"mmmm\ d\,\ yyyy" Date9
mso-number-format:"m\/d\/yy\ h\:mm\ AM\/PM" D -T AMPM
mso-number-format:"Short Date" 01/03/1998
mso-number-format:"Medium Date" 01-mar-98
mso-number-format:"d\-mmm\-yyyy" 01-mar-1998
mso-number-format:"Short Time" 5:16
mso-number-format:"Medium Time" 5:16 am
mso-number-format:"Long Time" 5:16:21:00
mso-number-format:"Percent" Percent - two decimals
mso-number-format:"0%" Percent - no decimals
mso-number-format:"0\.E+00" Scientific Notation
mso-number-format:"\@" Text
mso-number-format:"\#\ ???\/???" Fractions - up to 3 digits (312/943)
mso-number-format:"\0022£\0022\#\,\#\#0\.00" £12.76
mso-number-format:"\#\,\#\#0\.00_ \;\[Red\]\-\#\,\#\#0\.00\ "
2 decimals, negative numbers in red and signed
(1.56 -1.56)
用法举例:
当我们用<%@page contentType="application/vnd.ms-excel; charset=UTF-8"%>的方法导出jsp文件为excel时,如果导出的数据中有数字以0开头,则该0会被省略,为了保留这个处于首位的0,可以在表格的style中加入:
style='mso-number-format:"\@";'
这样的话,导出的该表格中首位为0的数字就会将该0保留啦!
#3
您说这个string style = "<style>.text{mso-number-format:\@;}</script>";
Response.Writeln(style);加到哪个地方?我是新手~还望指教,而且Response里面也没Writeln这个方法啊
Response.Writeln(style);加到哪个地方?我是新手~还望指教,而且Response里面也没Writeln这个方法啊
#4
在数字前面加'符号
#5
在数字前面加'符号 是个方法,也实现了~但是它有些不方便!!有没有其它的方法了
#6
Excel 自己本身就是用前面加'符号 来定义字符的吧。
你能作的只是看怎么加方便罢了,毕竟你最终要存成EXCEL
你能作的只是看怎么加方便罢了,毕竟你最终要存成EXCEL
#7
加'方法就不错
加上HDR=Yes;IMEX=1;
设置excel单元格格式
NumberFormatLocal = "@"
加上HDR=Yes;IMEX=1;
设置excel单元格格式
NumberFormatLocal = "@"
#8
帮忙 顶一下。我也遇到了这个问题
#9
#10
我也想知道是加在哪里
#1
格式问题!
string style = "<style>.text{mso-number-format:\@;}</script>";
Response.Writeln(style);
#2
在简易的Jsp导出html版本的execl中所有的文件导出默认都是文本文件,这给业务人员带来了一些不必要的操作,建议使用下面的方法,可以调整导出的格式类型.
mso-number-format:"0" NO Decimals
mso-number-format:"0\.000" 3 Decimals
mso-number-format:"\#\,\#\#0\.000" Comma with 3 dec
mso-number-format:"mm\/dd\/yy" Date7
mso-number-format:"mmmm\ d\,\ yyyy" Date9
mso-number-format:"m\/d\/yy\ h\:mm\ AM\/PM" D -T AMPM
mso-number-format:"Short Date" 01/03/1998
mso-number-format:"Medium Date" 01-mar-98
mso-number-format:"d\-mmm\-yyyy" 01-mar-1998
mso-number-format:"Short Time" 5:16
mso-number-format:"Medium Time" 5:16 am
mso-number-format:"Long Time" 5:16:21:00
mso-number-format:"Percent" Percent - two decimals
mso-number-format:"0%" Percent - no decimals
mso-number-format:"0\.E+00" Scientific Notation
mso-number-format:"\@" Text
mso-number-format:"\#\ ???\/???" Fractions - up to 3 digits (312/943)
mso-number-format:"\0022£\0022\#\,\#\#0\.00" £12.76
mso-number-format:"\#\,\#\#0\.00_ \;\[Red\]\-\#\,\#\#0\.00\ "
2 decimals, negative numbers in red and signed
(1.56 -1.56)
用法举例:
当我们用<%@page contentType="application/vnd.ms-excel; charset=UTF-8"%>的方法导出jsp文件为excel时,如果导出的数据中有数字以0开头,则该0会被省略,为了保留这个处于首位的0,可以在表格的style中加入:
style='mso-number-format:"\@";'
这样的话,导出的该表格中首位为0的数字就会将该0保留啦!
#3
您说这个string style = "<style>.text{mso-number-format:\@;}</script>";
Response.Writeln(style);加到哪个地方?我是新手~还望指教,而且Response里面也没Writeln这个方法啊
Response.Writeln(style);加到哪个地方?我是新手~还望指教,而且Response里面也没Writeln这个方法啊
#4
在数字前面加'符号
#5
在数字前面加'符号 是个方法,也实现了~但是它有些不方便!!有没有其它的方法了
#6
Excel 自己本身就是用前面加'符号 来定义字符的吧。
你能作的只是看怎么加方便罢了,毕竟你最终要存成EXCEL
你能作的只是看怎么加方便罢了,毕竟你最终要存成EXCEL
#7
加'方法就不错
加上HDR=Yes;IMEX=1;
设置excel单元格格式
NumberFormatLocal = "@"
加上HDR=Yes;IMEX=1;
设置excel单元格格式
NumberFormatLocal = "@"
#8
帮忙 顶一下。我也遇到了这个问题
#9
#10
我也想知道是加在哪里