html页面表格导出到excel总结,|,守
望轩
篇一:html页面表格导出到excel总结
html页面表格导出到excel总结
最近一个项目需要把报表的表格导入excel,在网上找了一些方法,比较研究了一下,记在这里,备忘。
表格例子如下:
html 表格导出道Exceltd> tr>
列标题1td>
列标题2td>
类标题3td>
列标题4td>
列标题5td>
tr>
aaatd> bbbtd> ccctd> dddtd> eeetd> tr>
AAAtd> BBBtd> CCCtd> DDDtd> EEEtd> tr>
FFFtd> GGGtd>
HHHtd>
IIItd>
JJJtd>
tr>
table>
1、js的方法
A、将整个表格拷贝到EXCEL中function method1(tableid) {
var curTbl = (tableid);
var oXL = new ActiveXObject(""); var oWB = ();
var oSheet = ;
var sel = ();
(curTbl);
();
("Copy");
();
}
B、读取表格中每个单元到EXCEL中:function method2(tableid)
{
var curTbl = (tableid);
var oXL = new ActiveXObject(""); var oWB = ();
var oSheet = ;
var Le = ;
for (i = 0; i {
var Lenc = (i).;
for (j = 0; j {
(i + 1, j + 1).value =
(i).cells(j).innerText;
}
}
}
c、把表格输出到另一个页面,然后存成cvs格式
function getXlsFromTbl(inTblId, inWindow)
{
try {
var allStr = "";
var curStr = "";
if (inTblId != null && inTblId != "" && inTblId != "null") {
curStr = getTblData(inTblId, inWindow);
}
if (curStr != null) {
allStr += curStr;
}
else {
alert("你要导出的表不存在");
}
var fileName = getExcelFileName(); doFileExport(fileName, allStr);
}
catch(e) {
alert("导出发生异常:" + + "->" + + "!"); }
}
function getTblData(inTbl, inWindow) {
var rows = 0;
var tblDocument = document;
if (!!inWindow && inWindow != "") {
if (!(inWindow)) {
return null;
}
else {
tblDocument = eval(inWindow).document;
}
}
var curTbl = (inTbl);
var outStr = "";
if (curTbl != null) {
for (var j = 0; j for (var i = 0; i if (i == 0 && rows > 0) {
outStr += " /t";
rows -= 1;
}
outStr += [j].cells[i].innerText + "/t"; if ([j].cells[i].colSpan > 1) {
for (var k = 0; k outStr += " /t";
}
}
if (i == 0) {
篇二:web导出excel数据格式化
web导出excel数据格式化原文地址:
/myaspnet/archive/XX/05/06/
当我们把web页面上的数据导成excel形式时,有时候我们的数据需要以特定的格式呈现出来,这时候我们就需要给cell添加一些样式规格信息。
首先,我们了解一下excel从web页面上导出的原理。当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所以把mime类型设为:application/,当excel读取文件时会以每个cell的格式呈现数据,如果cell没有规定的格式,则excel会以默认的格式去呈现该cell的数据。这样就给我们提供了自定义数据格式的空间,当然我们必须使用excel支持的格式。下面就列出常用的一些格式:
1)文本::@
2)日期::yyyy/mm/dd
3)数字::#,##
4)货币::¥#,##
5)百分比:: #%
这些格式你也可以自定义,比如年月你可以定义为:yy-mm等等。那么知道了这些格式,怎么去把这些格式添加到cell中呢?很简单,我们只需要把样式添加到对应的标签对(即闭合标签)即可。如,给标签对添加样式,如下:410522************
410522************
同样,我们也可以给添加样式,也可以给,添加样式,这样就会引入一个问题,你注意到了吗?先看如下的代码:
542
542
对,当我们在父标签对和子标签对都添加样式时,数据会以哪一个样式呈现呢?经过测试,会以离数据最近的样式呈现,这也是符合我们的意愿的(好像也符合一句俗话:县官不如现管)。这样我们就可以通过改变样式而改变数据在excel中呈现的方式(这些样式规格你可以在前台页面上添加也可以在后台代码里给相应的控件如:DataGrid等添加这些样式)。如果你的应用比较简单,那么这已经足够满足你的需求。但如果你的应用比较复杂,那么你也可以采取一种方式来达到不同的数据呈现效果。下面,我就举一个稍微复杂一点的应用。
例如:你的数据要呈现给不同国家和地区的用户查看,这样数据的呈现的格式就会不一样,那么我们怎么解决这个问题呢?当然了,你可以手工把这些数据处理好,但这毕竟不是最好的方法,因为如果我们每增加一个其他国家或地区的用户,那么我们就需要把所有的数据以客户要求的格式处理一遍,当数据量很大时,这无疑是一件很沉重且无聊的工作。那么我们究竟应该怎样解决类似这样的问题呢?下面我说一下,我自己的看法:把这些格式化的信息抽取到一个xml 文件中,程序运行时根据不同的客户读取不同的格式化信息,然后把这些格式化信息动态的添加到我们的数据上,这样,
当我们每增加一个其他国家或地区的用户时,我们只需要多增加一个xml文件,把对应的格式化信息写入这个xml文件,然后当这个国家或地区的用户查看时,就把对应的格式化信息读取出来应用到数据上即可。
以上这个例子是我突然想到的,相信跨国企业的公司会遇到类似的问题,解决方法只是提供给大家一个思路,希望可以起到抛砖引玉的效果
excel常用的一些格式
XX-11-17 13:13
1)文本::@
2)日期::yyyy/mm/dd
3)数字::#,##
4)货币::¥#,##
5)百分比:: #%
Excel导出及数据格式化处理(摘)
public void ToExcel( ctl, string FileName){
= "UTF-8";
=
;
=
"application/ms-excel";
("Content-Disposition", "attachment;filename=" + "" + FileName + ".xls");
= false;
tw = new (); HtmlTextWriter hw = new HtmlTextWriter(tw);
(hw);
(()); ();
}
public override void VerifyRenderingInServerForm(Control control) {
//(control);
}
protected void myGridView_RowDataBound(object sender,
GridViewRowEventArgs e)
{
if ( == )
{
//[0].("style",
":@");//这里是将要导出到execl里的第一列格式化为字符类型。
//[3].("style",
":¥#,###.00");//这里是格式化为货币类型。
[4].("style",
":@");
//1)文本::@
//2)日期::yyyy/mm/dd //3)数字::#,##
//4)货币::¥#,## //5)百分比:: #%
}
}
js 将table内容导入Excel
function MakeExcel()
{
var i, j, n;
try
{
var xls = new ActiveXObject("");
}
catch(e)
{
alert( "要打印该表,您必须安装Excel电子表格软件,同时浏览器须使用“ActiveX 控件”,您的浏览器须允许执行控件。请点击【帮助】了解浏览器设置方法!");
return "";
=true; // 设置excel为可见
var xlBook = ;
var xlsheet = (1);
((1,1),(1,7)).mergecells=true;
((1,1),(1,7)).value="发卡记录";
((1,1),(1,3)).=5; // 设置底色为蓝色
// ((1,1),(1,6)).=4; // 设置字体色
// (1). Interior .ColorIndex = 5 ;//设置底色为蓝色设置背景色
Rows(1).=4
(1).RowHeight = 25;
(1).=14;
(i0,j0)). = "黑体" -->
(1).="黑体";
("A:D").ColumnWidth =18;
(2).NumberFormatLocal="@";
(7).NumberFormatLocal="@";
//设置单元格内容自动换行 = true ; //设置单元格内容水平对齐方式 =
;//设置单元格内容竖直堆砌方式
//=
// = true; (3).WrapText=true 自动换行//设置标题栏
//(2, 1).Value = "卡号";
//(2, 2).Value = "密码";
//(2, 3).Value = "计费方式";
//(2, 4).Value = "有效天数";
//(2, 5).Value = "金额";
//(2, 6).Value = "所属服务项目";
//(2, 7).Value = "发卡时间";
var oTable = ['fors:data'];
var rowNum = ;
for(i = 1; i {
for (j = 1; j {
//html table类容写到excel
(i + 1, j).Value = (i - 1).cells(j - 1).innerHTML;
}
}
// ((i, 4), (i-1, 6)).BorderAround , 4
// for(mn=1,mn ;
( (1,1),(rowNum+1,7)).HorizontalAlignment =-4108;//居中
( (1,1),(1,7)).VerticalAlignment =-4108; ( (2,1),(rowNum+1,7)).=10;
( (2,1),(rowNum+1,7)).Borders(3).Weight = 2; //设置左边距
( (2,1),(rowNum+1,7)).Borders(4).Weight = 2;//设置右边距
( (2,1),(rowNum+1,7)).Borders(1).Weight = 2;//设置顶边距
( (2,1),(rowNum+1,7)).Borders(2).Weight = 2;//设置底边距
= true; //很重要,不能省略,不然会出问题意思是excel交由用户控制 xls=null;
xlBook=null;
篇三:解决JSP 调用 JS 导出WORD 与EXCEL
解决JSP 调用 JS 导出WORD 与EXCEL
一打印:
(1)在实际应用中!特别是一些公司需要报表输出和打印!这个时候我们就会用到JS的打印和报表输出功能!当然打印很简单就是();你也可以在按钮的onclick事件中写上return print()可以实现打印效果!这个时候打印你会发现打印出来的是整个页面,包裹着网站的logo和一些其他不需要的按钮!这个时候我们可以使用div控制一下。把不需要打印的东西用不打印的内容然后
.noprint{display:none;}
这个时候就可以实现打印时不打印其他信息的效果!
说明:
1.除去页眉页脚:通过浏览器的"页面设置"选项把其中的"页眉"和"页脚"的内容清空即可.
2.打印出背景色:通过浏览器的"工具"-"internet选项"-"高级"-"打印"-"打印背景色和图像"选中即可.
(2)同时可以使用使用WebBrowser打印(.ie内置组件无需安装,可实现打印预览等功能)
使用方法在页面中放置如下代码:
在按钮中调用OnClick="return userPrint()"
function userPrint()
{
(7,1);//打印预览
return false;
}
调用WebBrowser进行打印等操作(参数列表)
(1,1) 打开
(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
(4,1) 保存网页
(6,1) 打印
(7,1) 打印预览
(8,1) 打印页面设置
(10,1) 查看页面属性
(15,1) 好像是撤销,有待确认
(17,1) 全选
(22,1) 刷新
(45,1) 关闭窗体无提示
如果要一个页面显示2个表格,打印时让2个分页的话可以使用div隔开2个表格在他们中间加:样式: .PageNext{page-break-after: always;}
二:输出到Word或Excel中(转自《灰灰虫的家》)