第一种:逐个单元格导出法(此方法操作相对复杂,但是比较灵和,适合对导出表有要求的情况)
javascript代码如下
<SCRIPT LANGUAGE="javascript">
function ExcelExport(tableid)
{
var table = document.getElementById(tableid); //获取页面的table
var excel = new ActiveXObject("Excel.Application"); //实例化Excel.Application对象
var workB = excel.Workbooks.Add(); ////添加新的工作簿
var sheet = workB.ActiveSheet;
//var sheet= workB.Worksheets(1);//该句代码和上句代码同意,都是激活一个sheet
/***************常用样式设置语句***************************************/
//sheet.Rows(1).WrapText = false; //自动换行设置
//sheet.Rows(1).Font.Size=18;//设置第一行的字体大小
//sheet.Rows(1).Interior.ColorIndex=2;//设置第一行背景色
//sheet.Rows(1).Font.ColorIndex=1;//设置第一行字体色
//sheet.Range(sheet.Cells(1,1),sheet.Cells(1,7)).mergecells=true;//第一行1到7单元格合并
sheet.Columns("A").ColumnWidth =35;//设置列宽
sheet.Columns("B").ColumnWidth =35;
//sheet.Columns("A:B").ColumnWidth =35;//另一种设置列宽的方式
sheet.Rows(1).RowHeight = 35;//设置行高
//sheet.Rows(1).Font.Name="黑体";//设置字体
//sheet.Columns.AutoFit;//所有列自适应宽度
//水平对齐方式(貌似-4108为水平居中)
//sheet.Range( sheet.Cells(1,1),sheet.Cells(1,5)).HorizontalAlignment =-4108;
//垂直对齐方式
//sheet.Range( sheet.Cells(1,1),sheet.Cells(1,5)).VerticalAlignment =-4108;
//根据Borders()中参数值设置各个方向边距,1,2,3,4--->top,buttom,left,right
//sheet.Range( sheet.Cells(2,1),sheet.Cells(1,5)).Borders(1).Weight = 2;
/**将页面table写入到Excel中,具体复杂情况(合并单元格等)可在这里面具体操作**********/
var LenRow = table .rows.length; //以下为循环遍历获取页面table的cell元素
for (i = 0; i < LenRow ; i++)
{
var lenCol = table.rows(i).cells.length;
for (j = 0; j < lenCol ; j++)
{
sheet.Cells(i + 1, j + 1).value = table.rows(i).cells(j).innerText; //通过该语句将table的每个
//cell赋予Excel 当前Active的sheet下的相应的cell下
}
}
excel.Visible = true;//设置excel为可见
excel.UserControl = true; //将Excel交由用户控制
}
</SCRIPT>
javascript代码如下
<SCRIPT LANGUAGE="javascript">
function ExcelExport(tableid)
{
var table = document.getElementById(tableid); //获取页面的table
var excel = new ActiveXObject("Excel.Application"); //实例化Excel.Application对象
var workB = excel.Workbooks.Add(); ////添加新的工作簿
var sheet = workB.ActiveSheet;
//var sheet= workB.Worksheets(1);//该句代码和上句代码同意,都是激活一个sheet
/***************常用样式设置语句***************************************/
//sheet.Rows(1).WrapText = false; //自动换行设置
//sheet.Rows(1).Font.Size=18;//设置第一行的字体大小
//sheet.Rows(1).Interior.ColorIndex=2;//设置第一行背景色
//sheet.Rows(1).Font.ColorIndex=1;//设置第一行字体色
//sheet.Range(sheet.Cells(1,1),sheet.Cells(1,7)).mergecells=true;//第一行1到7单元格合并
sheet.Columns("A").ColumnWidth =35;//设置列宽
sheet.Columns("B").ColumnWidth =35;
//sheet.Columns("A:B").ColumnWidth =35;//另一种设置列宽的方式
sheet.Rows(1).RowHeight = 35;//设置行高
//sheet.Rows(1).Font.Name="黑体";//设置字体
//sheet.Columns.AutoFit;//所有列自适应宽度
//水平对齐方式(貌似-4108为水平居中)
//sheet.Range( sheet.Cells(1,1),sheet.Cells(1,5)).HorizontalAlignment =-4108;
//垂直对齐方式
//sheet.Range( sheet.Cells(1,1),sheet.Cells(1,5)).VerticalAlignment =-4108;
//根据Borders()中参数值设置各个方向边距,1,2,3,4--->top,buttom,left,right
//sheet.Range( sheet.Cells(2,1),sheet.Cells(1,5)).Borders(1).Weight = 2;
/**将页面table写入到Excel中,具体复杂情况(合并单元格等)可在这里面具体操作**********/
var LenRow = table .rows.length; //以下为循环遍历获取页面table的cell元素
for (i = 0; i < LenRow ; i++)
{
var lenCol = table.rows(i).cells.length;
for (j = 0; j < lenCol ; j++)
{
sheet.Cells(i + 1, j + 1).value = table.rows(i).cells(j).innerText; //通过该语句将table的每个
//cell赋予Excel 当前Active的sheet下的相应的cell下
}
}
excel.Visible = true;//设置excel为可见
excel.UserControl = true; //将Excel交由用户控制
}
</SCRIPT>
第二种方法:整体拷贝法(该方法以较少代码实现Excel数据的导出,但是导出数据格式可能存在样式和页面不一致情况,甚至像背景色等会出现错位,而且如果在html页面中对需要导出的table样式做过设置的话,此处部分样式设置可能不会起作用)
<SCRIPT LANGUAGE="javascript">
function ExcelExport(tableid)
{
var table = document.getElementById(tableid);
var ax =new ActiveXObject("Excel.Application");
var workbook = oXL.Workbooks.Add();
var sheet = workbook.ActiveSheet;
var sel = document.body.createTextRange();
//把table中的数据移到sel中
sel.moveToElementText(table);
sel.select(); //选中sel中所有数据
sel.execCommand("Copy");//复制sel中的数据
sheet.Columns("A").ColumnWidth =35;//设置列宽
sheet.Columns("B").ColumnWidth =35;
sheet.Rows(1).RowHeight = 35;//设置表头高
//将sel中数据拷贝到sheet工作薄中
sheet.Paste();
ax.Visible = true;
//通过打印机直接将Excel数据打印出来
sheet.Printout;
ax.UserControl = true;
}
</SCRIPT>
转自:
http://blog.csdn.net/lxw503606554/archive/2010/01/14/5189782.aspx
分享到:
相关推荐
<?mso-application progid="Excel.Sheet"?> xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" ...
整合了导出DataTable到Excel的方法,可以实现导出到Web程序和Windows桌面程序对Excel文件的操作。 整合了多线程处理技术,针对海量数据的Excel导出,可以保证导出数据的操作流畅性,而不会导致假死等现象的...
作者项目开发的程序中要实现将程序中数据,包含图片要导出到...主要介绍了QT程序中导出图片到EXCEL指定单元格的实现过程及源码, VC或其他编程语言同样可参考方法说明通过 Excel.Application导出图片到指定单元格。
用VB导出excel 的方法
Excel.Application excel = new Excel.Application();//建立Excel对象 excel.Workbooks.Add(true); //Excel表为添加状态 System.Data.DataTable da = SteelInfoManager.GetALL();//得到将要导出的数据 int row = ...
excel:=CreateOleObject('Excel.Application'); excel.workbooks.add; except //screen.cursor:=crDefault; showmessage('无法调用Excel!'); exit; end; savedialog:=tsavedialog.Create(nil); savedialog...
Excel.Application objApp; Excel._Workbook objBook; //定义路径 // //wpf中路径的设定 public string Excelpath = AppDomain.CurrentDomain.BaseDirectory + "info.xls"; /// /// 执行将数值输入到excel...
ASP.NET使用Excel的Application组件生成Excel --------------------------------------------------- 开发测试环境: Windows Server 2003 VS.NET 2005 access Microsoft Office 2003 其它说明: 1、ExcelClass类...
本文通过一个例子说明了使用delphi操作excel和wps时的区别和共同的代码部分。
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); //让后台执行设置为不可见,为true的话会看到打开一个Excel,然后数据在往里写 excel.Visible = ...
将: Set xl = GetObject(,"Excel.Application") 改成:Set xl = GetObject(,"Et.Application") 将: Set xl = CreateObject("Excel.Application") 改成:Set xl = CreateObject("Et.Application")
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass(); 导致结果如下: 类型“Microsoft.Office.Interop.Excel.ApplicationClass”未定义构造函数 无法...
delphi 导出Excel实例 实例
导出Excel 准备数据: 首先,你需要有一份员工数据,可以是从数据库中查询得到的,也可以是已有的数据集合。 创建Excel文件: 使用POI库创建一个新的Excel文件。在文件中创建一个工作表,并在第一行创建标题行,包含...
前台new Ext.Button({ text:'导出EXCEL', handler:function(){ var appWindow = window.open("getExecl.do"); //调action得到数据生成execl格式的数据,response发往前台 appWindow.focus(); }})后台: filename是...
在弹出的Confirm Classes里选择_Application,Workbooks,_Workbook,Worksheets ,_Worksheet,Range ,Font 这几个类,并确定新生成的.CPP和.h文件的名称为Excel.cpp和Excel.h,然后确定。 5、添加类CColorButton...
在弹出的Confirm Classes里选择_Application,Workbooks,_Workbook,Worksheets ,_Worksheet,Range ,Font 这几个类,并确定新生成的.CPP和.h文件的名称为Excel.cpp和Excel.h,然后确定。 5、在stdafx.h中添加...
2. 导入sql到数据库:other/excel.sql 3. idea导入excelhandle项目,修改application-local.yml中的数据库url和username、password信息,配置maven 4. 启动项目后,使用postman请求,可进行演示。如果问题可联系:...
详细介绍C#代码讲Sql Server数据库中的数据导出到Excel表中。...主要讲诉三种方法:用Excel.Application接口、用OleDB、用HTML的Tabel标签 介绍、实例代码很给力! 个人推荐首选OleDB,上手快,好用方便!!
Excel.ApplicationClass MyExcel = new Excel.ApplicationClass(); MyExcel.Visible = true; if (MyExcel == null) { MessageBox.Show("EXCEL无法启动!", "错误", MessageBoxButtons.OK, MessageBoxIcon....