`
happyzpx
  • 浏览: 29288 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript 导出网页为excel,word

    博客分类:
  • js
阅读更多

javascript 导出网页为excel,word

Posted on 2010-10-22 14:03 路-在继续 阅读(376) 评论(0) 编辑 收藏 
复制代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    
<title>导出为excel</title>

    
<script type="text/javascript">
function printToExcel(html) {
  
try{
    var ExApp 
= new ActiveXObject("Excel.Application")  //创建应该对象
    var ExWBk = ExApp.workbooks.add()                   //新建一个Excel工作簿
    var ExWSh = ExWBk.worksheets(1)                     //指定要写入内容的工作表为活动工作表
    ExApp.DisplayAlerts = false
    ExApp.visible 
= true
  }
catch(e){
    alert(
"您所设定的安全级别太高,或者您的电脑没有安装Microsoft Excel软件!")
    
return false
  }
  window.clipboardData.setData(
"Text", html); 
  ExWBk.worksheets(
1).Paste;
  ExWBk.worksheets(
1).Columns.AutoFit;
  ExWBk.worksheets(
1).Rows.AutoFit;
}

 function printToWord(html)
 {
  var word 
= new ActiveXObject("Word.Application");
 
// var doc = word .documents.open("c:\test.doc");     //此处为打开已有的模版
  var doc = word .Documents.Add("",0,1);//不打开模版直接加入内容
  var Range=doc.Range(); 
  var sel 
= document.body.createTextRange();
  sel.moveToElementText(html);
//此处form是页面form的id
  sel.select();
  sel.execCommand(
"Copy");
  Range.Paste();
  word .Application.Visible 
= true;
  word.Application.Selection.InlineShapes.AddPicture(
"c:\\m20.gif");
  doc .saveAs(
"c:\\ba.doc");     //存放到指定的位置注意路径一定要是“\\”不然会报错
 }
    
</script>

</head>
<body>
    
<!-- 以下为数据区 -->
    
<div id="dataArea">
        
<p style="color: Red; font-size: 20px;">
            2009年猪流感统计表
</p>
        
<table border="1" cellpadding="0" style="border-collapse: collapse;">
            
<tbody>
                
<tr>
                    
<td>
                        
&nbsp;<b>编号</b></td>
                    
<td>
                        
&nbsp;<b>用户名</b></td>
                
</tr>
                
<tr>
                    
<td>
                        
&nbsp;<b>编号</b></td>
                    
<td>
                        
&nbsp;<b>用户名</b></td>
                
</tr>
            
</tbody>
        
</table>
        
<br />
        
<input id="btExcel" type="button" onclick="printToExcel(dataArea.innerHTML);" value="导出为Excel" />
        
<input id="Button1" type="button" onclick="printToWord(dataArea);" value="导出为Word" />
    
</div>
</body>
</html>

 

 

 

1.创建一个新Excel表格

    var XLObj = new ActiveXObject("Excel.Application");
    var xlBook = XLObj.Workbooks.Add;                         //新增工作簿
    var ExcelSheet = xlBook.Worksheets(1);                   //创建工作表

2.保存表格
    ExcelSheet.SaveAs("C:\\TEST.XLS");

3.使 Excel 通过 Application 对象可见
    ExcelSheet.Application.Visible = true;

4.打印
    xlBook.PrintOut;
    或者:
    ExcelSheet.PrintOut;

5.关闭
    xlBook.Close(savechanges=false);
    或者:
    ExcelSheet.Close(savechanges=false);

6.结束进程
    ExcelSheet.Application.Quit();
    或者:
    XLObj.Quit();
    XLObj=null;

function endXlsObj(){    
    oXL.UserControl = true;   
    oXL=null;   
    oWB=null;   
    activeSheet=null;   
    //结束excel进程,退出完成
    idTmr = window.setInterval("Cleanup();",1);
} 
function Cleanup() {
    window.clearInterval(idTmr);
    CollectGarbage();

7.页面设置

    ExcelSheet.ActiveSheet.PageSetup.Orientation = 2;
    ExcelSheet.ActiveSheet.PageSetup.LeftMargin= 2/0.035;         //页边距 左2厘米
    ExcelSheet.ActiveSheet.PageSetup.RightMargin = 3/0.035;      //页边距 右3厘米,
    ExcelSheet.ActiveSheet.PageSetup.TopMargin = 4/0.035;        //页边距 上4厘米,
    ExcelSheet.ActiveSheet.PageSetup.BottomMargin = 5/0.035;   //页边距 下5厘米
    ExcelSheet.ActiveSheet.PageSetup.HeaderMargin = 1/0.035;   //页边距 页眉1厘米
    ExcelSheet.ActiveSheet.PageSetup.FooterMargin = 2/0.035;    //页边距 页脚2厘米
    ExcelSheet.ActiveSheet.PageSetup.CenterHeader = "页眉中部内容";
    ExcelSheet.ActiveSheet.PageSetup.LeftHeader = "页眉左部内容";
    ExcelSheet.ActiveSheet.PageSetup.RightHeader = "页眉右部内容";
    ExcelSheet.ActiveSheet.PageSetup.LeftFooter = "页脚左部内容";
    ExcelSheet.ActiveSheet.PageSetup.RightFooter = "页脚右部内容";             ExcelSheet.ActiveSheet.PageSetup.CenterHeader = "&\"宋体,加粗\"&18长天公司" + date1 + "至" + date2 + "(施工图)项目进度检查表";
    ExcelSheet.ActiveSheet.PageSetup.RightHeader = "&D";
    ExcelSheet.ActiveSheet.PageSetup.PrintGridlines = true;
    ExcelSheet.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1";
    ExcelSheet.ActiveSheet.PageSetup.Zoom = 75;

8.对单元格操作,带*部分对于行,列,区域都有相应属性
    ExcelSheet.ActiveSheet.Cells(row,col).Value = "内容";                //设置单元格内容
    ExcelSheet.ActiveSheet.Cells(row,col).Borders.Weight = 1;        //设置单元格边框*()
    ExcelSheet.ActiveSheet.Cells(row,col).Interior.ColorIndex = 1;    //设置单元格底色*(1-黑色,
        2-白色,3-红色,4-绿色,5-蓝色,6-黄色,7-粉红色,8-天蓝色,9-酱土色..可以多做尝试)
    ExcelSheet.ActiveSheet.Cells(row,col).Interior.Pattern = 1;         //设置单元格背景样式*(1-无,
                                                     2-细网格,3-粗网格,4-斑点,5-横线,6-竖线..可以多做尝试)
    ExcelSheet.ActiveSheet.Cells(row,col).Font.ColorIndex = 1;        //设置字体颜色*(与上相同)
    ExcelSheet.ActiveSheet.Cells(row,col).Font.Size = 10;                //设置为10号字*
    ExcelSheet.ActiveSheet.Cells(row,col).Font.Name = "黑体";        //设置为黑体*
    ExcelSheet.ActiveSheet.Cells(row,col).Font.Italic = true;             //设置为斜体*
    ExcelSheet.ActiveSheet.Cells(row,col).Font.Bold = true;             //设置为粗体*
    ExcelSheet.ActiveSheet.Cells(row,col).ClearContents;                //清除内容*
    ExcelSheet.ActiveSheet.Cells(row,col).WrapText=true;               //设置为自动换行*
    ExcelSheet.ActiveSheet.Cells(row,col).HorizontalAlignment = 3; //水平对齐方式枚举* (1-常规,
                                    2-靠左,3-居中,4-靠右,5-填充 6-两端对齐,7-跨列居中,8-分散对齐)
    ExcelSheet.ActiveSheet.Cells(row,col).VerticalAlignment = 2;      //垂直对齐方式枚举*(1-靠上,
                                                                                   2-居中,3-靠下,4-两端对齐,5-分散对齐)
    //行,列有相应操作:
    ExcelSheet.ActiveSheet.Rows(row).
    ExcelSheet.ActiveSheet.Columns(col).
    ExcelSheet.ActiveSheet.Rows(startrow+":"+endrow).                   //如Rows("1:5")即1到5行
    ExcelSheet.ActiveSheet.Columns(startcol+":"+endcol).                //如Columns("1:5")即1到5列
    //区域有相应操作:
    XLObj.Range(startcell+":"+endcell).Select;
        //如Range("A2:H8")即A列第2格至H列第8格的整个区域
    XLObj.Selection.
    //合并单元格
    XLObj.Range(startcell+":"+endcell).MergeCells = true;
        //如Range("A2:H8")即将A列第2格至H列第8格的整个区域合并为一个单元格
    或者:
    XLObj.Range("A2",XLObj.Cells(8, 8)).MergeCells = true;

9.设置行高与列宽
    ExcelSheet.ActiveSheet.Columns(startcol+":"+endcol).ColumnWidth = 22;
        //设置从firstcol到stopcol列的宽度为22
    ExcelSheet.ActiveSheet.Rows(startrow+":"+endrow).RowHeight = 22;
        //设置从firstrow到stoprow行的宽度为22

 
分享到:
评论

相关推荐

    javaScript导出word和excel例子

    对于导出Excel文件,可以使用xlsx-js(也称为SheetJS)库。这个库提供了一套API来处理电子表格数据,包括读取、写入和操作CSV、XLSX等格式的文件。 6. **示例代码流程**: - 首先,获取HTML内容,可能需要对HTML...

    JavaScript直接导出或导入Excel,Word

    JavaScript直接导出或导入Excel,Word

    JavaScript利用ActiveX导出Excel,Word

    JavaScript利用ActiveX导出Excel,Word

    js导出Excel 、Word [超实用][自动保存样式]

    总结一下,JavaScript导出Excel和Word的关键步骤包括: 1. 获取Table数据和样式信息。 2. 将数据转化为适合Excel或Word的格式。 3. 使用库(如SheetJS、docx)生成相应格式的文件。 4. 创建下载链接或通过服务器完成...

    JS导出word、excel

    在实际应用中,JavaScript导出Word和Excel通常依赖于一些库,如jsPDF用于生成PDF,然后通过转换工具将PDF转为Word,或者使用xlsx库直接处理Excel文件。另外,Puppeteer是一个流行的浏览器自动化工具,可以通过控制...

    java\JavaScript利用ActiveX导出Excel,Word .doc

    本文主要介绍如何使用JavaScript通过ActiveX对象来实现网页内容的导出,具体是将HTML表格数据导出到Excel和Word文档。ActiveX是Microsoft开发的一种技术,允许在浏览器环境中创建和运行控件,它在Internet Explorer...

    利用js导出Web页面内容到Word、Excel

    ### 使用JavaScript将Web页面内容导出至Word与Excel #### 概述 本文将详细介绍如何通过JavaScript(简称JS)实现在Web页面上将特定内容导出到Microsoft Word和Excel的功能。这种方法非常适合那些需要快速将网页...

    WEB页面导出为EXCEL,word文档的方法.rar

    总结来说,Web页面导出Excel和Word文档涉及的主要知识点包括JavaScript编程、DOM操作、特定库的使用(如`xlsx`和`docx`)、数据格式转换和文件下载机制。理解并掌握这些知识,你就可以在自己的Web应用中实现灵活的...

    jsp导出Excel;简单实用!导出Excel;导出Word

    总之,JSP导出Excel和Word是常见的功能需求,通过Apache POI库可以轻松实现。正确设置响应头和使用流处理可以确保文件能被正确下载,同时根据实际需求调整数据处理和样式设置,能够创建符合业务需求的导出文件。

    javascript实现页面导出word_and_excel举例

    在网页开发中,有时我们需要提供将页面内容导出为Word或Excel文档的功能,这在数据管理、报告生成或用户下载需求中非常常见。JavaScript作为客户端脚本语言,可以通过一些库和API来实现这一功能。本示例将详细介绍...

    解决JSP 调用 JS 导出WORD 与EXCEL

    在IT行业中,尤其是在Web开发领域,常常需要处理数据的导出功能,比如将网页上的信息导出为Word或Excel文档,以便用户进行离线查看、编辑或进一步分析。本篇文章将详细探讨如何在JSP(JavaServer Pages)环境中,...

    Jquery导出word、pdf、excel、json、png

    在网页开发中,有时我们需要将网页内容导出为不同的文件格式,例如Word、PDF、Excel或图像等,以便用户可以离线查看或进一步处理。"Jquery导出word、pdf、excel、json、png"是一个jQuery插件,它提供了便捷的API和...

    js导出Excel和Word,不支持ie

    - 使用JavaScript导出Excel通常依赖于一些库,如` SheetJS`(XLSX.js)或`js-xlsx`。这些库可以解析和生成逗号分隔值(CSV)或二进制格式的Excel文件(XLSX)。在`exportexcel.html`文件中,可能包含了使用这类库...

    freemarker导出Excel、Word、HTMLdemo

    流程与导出Excel相似,只是模板需要按照Word文档的结构设计。 - 模板设计上,可以使用Freemarker的文本、段落、列表等指令创建Word文档的结构,用`&lt;#assign&gt;`和`&lt;#if&gt;`等控制流语句处理条件和循环。 - 在Java代码...

    WEB页面导出为WORD、EXCEL文档的方法(源代码)

    本文将详细介绍如何使用 ASP 语言将 WEB 页面导出为 WORD、EXCEL 文档,包括使用 JavaScript 语言将表格内容导出到 EXCEL 文档中,并使用 ActiveXObject 对象来实现 WORD 文档的导出。 首先,在 HTML 代码中,我们...

    datatable导出json、text、excel、word等格式

    本资源主要涉及的是如何在`DataTable`中实现动态加载数据,并且提供导出数据到不同格式的功能,包括JSON、文本、Excel和Word。 1. **动态加载数据**: 动态加载,也称为懒加载或按需加载,是一种优化网页性能的...

    extjs的Word导出,excel读取和导出demo

    ExtJS是一个强大的JavaScript库,用于构建富客户端的Web应用,而Excel和Word导出则涉及到数据的格式化和交换。 描述中的"myeclipse下的Web项目"指的是这个示例是在MyEclipse集成开发环境中创建的,这是一个流行的...

    Table表格导出为Excel、csv、txt、sql、json、xml、Word格式

    本项目提供的"Table表格导出为Excel、csv、txt、sql、json、xml、Word格式"就是这样一个功能丰富的解决方案,它允许用户将网页中的表格数据方便地转换为多种常见格式。 首先,我们来详细了解一下这些文件格式的特点...

    javascript 操作Word和Excel的实现代码

    ### JavaScript操作Word和Excel的实现代码 #### 一、JavaScript操作Word文档的实现方法 根据提供的部分代码,我们可以深入分析并总结出如何使用JavaScript来操作Word文档。 ##### 1. 创建Word文档 在JavaScript...

    JavaScript将Web页面内容导出到Word及Excel的方法

    在上述标题和描述中,我们关注的是如何利用JavaScript将Web页面内容导出到Microsoft的Word和Excel文档。 在JavaScript中,要实现这种功能,通常需要借助于ActiveXObject,这是一个仅在Internet Explorer浏览器中...

Global site tag (gtag.js) - Google Analytics