`
zhongzhihua
  • 浏览: 313219 次
  • 来自: ...
社区版块
存档分类
最新评论

Excel.Application 导出Excel

 
阅读更多

第一种:逐个单元格导出法(此方法操作相对复杂,但是比较灵和,适合对导出表有要求的情况)

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

分享到:
评论

相关推荐

    Microsoft.Office.Interop.Excel.rar 导出Excel

    Excel.Application excelApp = new Excel.Application(); // 隐藏Excel窗口 excelApp.Visible = false; // 打开现有的Excel文件 Excel.Workbook workbook = excelApp.Workbooks.Open("C:\\path\\to\\your\\file....

    excelApplication

    本文将深入探讨如何在C#环境中操作Excel,即“excelApplication”。 首先,要进行C#与Excel的交互,你需要引入Microsoft.Office.Interop.Excel库,这是.NET Framework提供的一个接口,允许C#代码直接调用Excel应用...

    使用delphi操作excel和wps的不同实践

    对于WPS,需要使用`et.Application`,而对于Excel,则应使用`Excel.Application`。 2. **禁用警告消息**: ```pascal msExcel.displayAlerts := false; ``` - 为了防止在执行脚本时出现警告消息,设置了`...

    c# winform DataGridView导出数据到Excel中

    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); excel.Visible = false; excel.Application.Workbooks.Add(true); for (int i = 0; i ...

    C# 导出Excel,导出Excel后关闭进程中Excel.exe

    Excel.Application excelApp = new Excel.Application(); Excel.Workbook workbook = excelApp.Workbooks.Add(); Excel.Worksheet worksheet = workbook.ActiveSheet; // 填充数据 worksheet.Cells[1, 1] = "数据1";...

    microsoft.office.interop.excel.dll各种版本

    在描述中提到,这个压缩包包含了“各种版本”的microsoft.office.interop.excel.dll,这意味着你可以根据目标系统的不同版本的Office或者.NET Framework选择合适的dll。不同的版本可能对应不同的Excel功能支持,以及...

    应用程序根据DataGridView导出Excel报表,Microsoft.Office.Interop.Excel.dll

    Excel.Application excelApp = new Excel.Application(); excelApp.Visible = true; // 可选,设置为true显示Excel进程 // 创建新的工作簿 Excel.Workbook workbook = excelApp.Workbooks.Add(); Excel....

    Excel导入,导出,模板生成-公共模块整理

    在导出 Excel 文件操作中,我们可以使用 Excel.Application 对象来创建一个新的 Excel 工作簿,然后使用 Range 对象来设置单元格的值,最后使用 Excel.Application 对象来保存工作簿。 在生成模板文件操作中,我们...

    Blob.js 和Export2Excel.js

    而当我们需要在Vue项目中处理数据导出,特别是导出到Excel格式时,`Blob.js`和`Export2Excel.js`两个库就显得尤为重要。这两个库帮助开发者能够方便地将前端数据转换为Excel文件,供用户下载。 `Blob.js` 是一个...

    C#导入、导出Excel.doc

    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); excel.Visible = true; Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Add...

    使用Springboot实现excel的导入导出

    导出Excel 准备数据: 首先,你需要有一份员工数据,可以是从数据库中查询得到的,也可以是已有的数据集合。 创建Excel文件: 使用POI库创建一个新的Excel文件。在文件中创建一个工作表,并在第一行创建标题行,包含...

    Vue的Excel导出详细步骤(亲测可用).rar

    在用户触发导出事件时,你可以调用Export2Excel.js的`export_table_to_excel`方法,将数据转换为Excel文件并使用Blob.js创建可下载的URL: ```javascript methods: { handleExportExcel() { const filename = '我...

    数据表格导出之Blob.js和Export2Excel.js下载

    本话题主要关注如何在Vue项目中实现数据表格的导出功能,特别是利用Blob.js和Export2Excel.js这两个关键文件。 Blob.js是一个JavaScript库,它提供了一个Blob对象的实现,Blob对象在Web API中用于表示不可变的、...

    兼容Office2003-2013的Excel导出或者数据获取解决方案

     整合了导出DataTable到Excel的方法,可以实现导出到Web程序和Windows桌面程序对Excel文件的操作。  整合了多线程处理技术,针对海量数据的Excel导出,可以保证导出数据的操作流畅性,而不会导致假死等现象的...

    C#导出图片到EXCEL

    Excel.Application excelApp = new Excel.Application(); excelApp.Visible = true; // 设置为可见 ``` 3. **创建工作簿**:然后创建一个新的工作簿或打开已有的工作簿。 ```csharp Excel.Workbook workbook = ...

    C#中使用savefiledialog保存为excel文件

    Excel.Application m_objExcel = new Excel.Application(); Excel.Workbooks m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks; m_objBooks.Open(fileName, Missing.Value, Missing.Value, Missing.Value, ...

    导出excel功能,利用excel.dll

    本项目就是通过利用第三方库,具体是`excel.dll`,来实现在VB.NET环境中导出数据到Excel的功能。下面将详细讲解如何实现这一功能。 首先,`excel.dll`是一个第三方库,它提供了对Excel文件操作的API接口,使得...

    Microsoft.Office.Interop.Excel.rar

    例如,`Excel.Application excelApp = new Excel.Application();`。 4. **自动化Excel任务**: 通过`Interop`,你可以执行一系列自动化任务,如读取单元格值、设置单元格格式、合并单元格、运行宏、图表操作等。例如...

    用VB导出excel 的方法

    用VB导出excel 的方法

    QT或VC程序中导出图片到EXCEL指定单元格过程说明

    作者项目开发的程序中要实现将程序中数据,包含图片要导出到...主要介绍了QT程序中导出图片到EXCEL指定单元格的实现过程及源码, VC或其他编程语言同样可参考方法说明通过 Excel.Application导出图片到指定单元格。

Global site tag (gtag.js) - Google Analytics