ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:20.12KB ,
资源ID:19906121      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19906121.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(javascript导出excelWord格式文档下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

javascript导出excelWord格式文档下载.docx

1、 HtmlNode hnPreviousSibling = phnTd.PreviousSibling;4 while (hnPreviousSibling != null & hnPreviousSibling.Name != phnTd.Name)56 hnPreviousSibling = hnPreviousSibling.PreviousSibling;7 8 9 if (hnPreviousSibling != null)1011 int nColSpan = hnPreviousSibling.GetAttributeValue(colspan, 1);12 return Hor

2、izontalDeduction(hnPreviousSibling) + nColSpan;1314 15 return 0;16经过横向推导,各td的X、Y坐标如下图所示:纵向推导(Vertical Deduction)一次纵向推导的过程可以描述为(当前推导td用A表示): 找到A之前的行tr中与A具有相同X坐标的td节点B if (B.rowspan(A.Y-B.Y) X+=B.colspan,即A的X坐标向后推B.colspan的位置 同时,与A同处一tr但在其后边的td节点均应向后推B.colspan个位移对td节点A反复执行这样的一个过程,直到确定A无需再次移动。纵向推导核心代码为

3、:1 bool bActedPush = false;2 3 do4 int nComparedItemIndex = -1; for (int j = i - 1; j = 0; j-)8 if (plstCellsj._nStartX = oCurrentCell._nStartX) nComparedItemIndex = j; break; if (nComparedItemIndex = 0)17 if (plstCellsnComparedItemIndex._nRowSpan (oCurrentCell._nStartY - plstCellsnComparedItemIndex

4、._nStartY)1819 oCurrentCell._nStartX += plstCellsnComparedItemIndex._nColSpan;20 21 bActedPush = true;22 23 for (int k = i + 1; k plstCells.Count; k+)2425 if (plstCellsk._nStartY = oCurrentCell._nStartY)2627 plstCellsk._nStartX += plstCellsnComparedItemIndex._nColSpan;28293031 else3233 bActedPush =

5、false;3435363738394041 while (bActedPush);以示例table中的four td为例,其经过纵向推导过程后的坐标位置情况如下图:关于示例代码的几点说明:1、 在示例代码中,我通过一个Config文件对生成的Excel的文件名、其内报表的内容和位置做了一些控制。基本内容如下: FileNameSample Excel File!-生成Excel的文件名-SheetCount1-Excel中sheet的数量-/BaseInfoTablesExcelTableTableName示例表一-报表名称-WhichSheet/WhichSheet-所在sheet的序号-

6、StartX2-左上角X坐标-StartY/StartY-左上角Y坐标-SourceSample_Page_1.aspx-table所在页面-/ExcelTable/Tables/ExcelDocument2、 在解析html的过程中,我使用了HtmlAgilityPack解析工具。感兴趣的朋友可以研究一下。地址是这里:3、 HtmlAgilityPack解析html的过程中,其将html标签之间的空隙也会看成是一个节点,为内容为空字符串的文本节点,这点大家应注意。4、 该示例代码基本上是一个完整的功能,并且和系统中其他模块耦合度很小。有类似需求的朋友可以拿来直接用。javascript导出e

7、xcel(应用)2008-03-19 15:16:40|分类: 雨天技术 |标签: |字号大中小订阅 div align=rightinput name=exp value=导出页面为EXCEL type=button onclick=tableToExcel() /input type=file name=excelfile导入EXCEL文件readExcel()im/div-TABLE中的内容是JAVASCRIPT自动生成的-table width=100%techTable id= border=0 align=center cellpadding=5 cellspacing=1 bgc

8、olor=D4DBED/tableSCRIPT LANGUAGE=JavaScriptfunction tableToExcel()var rowNum = 0;var oXL = new ActiveXObject(Excel.Application); /创建应该对象 var oWB = oXL.Workbooks.Add();/新建一个Excel工作簿var oSheet = oWB.ActiveSheet;/指定要写入内容的工作表为活动工作表 /var table = pageId;var rows = table.rows.length; / var colSumCols = tab

9、le.rows(0).cells.length;var beginCol = 0;var cols = colSumCols;var rowSpans=1; /行合并var colSpans=1; /列合并oXL.visible = true;oWB.Worksheets(1).Range(B4:D4:F4).ColumnWidth=20; /*表头*/var excRange = oSheet.Range(oSheet.Cells(1,1),oSheet.Cells(1,6);excRange.Merge(true);/获取型号等信息var excelName = %=session.get

10、Attribute(excel)%;excelName = chkrecName+-+excelName+-技术参数excRange.value = excelName;excRange.HorizontalAlignment = 3;/居中 excRange.Font.Name = 黑体rowNum = rowNum+1;/*结束结果设置*/var obj1 = document.getElementById(techTablerowNum = resultToExcel(rowNum, obj1, oSheet, rowNum = rowNum+2;/增加提示,不可以编辑EXCEL的批注v

11、ar excRange2 = oSheet.Range(oSheet.Cells(2,1),oSheet.Cells(2,6);excRange2.Merge(true);excRange2.value = 提示:务必不要编辑下面单元格中批注的内容!否则将无法实现导入!excRange2.HorizontalAlignment = 2;excRange2.Font.Name = 宋体excRange2.Font.Size = 10;tryoWB.SaveAs(c:.xlsoWB.Close;oXL.visible = false;oXL.Quit();alert(文件保存成功!已保存到 C:c

12、atch(e)文件保存失败!function resultToExcel(rowNum, obj, oSheet, tableTile)if(obj=null)return rowNum;var rows = obj.rows.length;var colSumCols = obj.rows(0).cells.length; var beginCol = 0; excRange = oSheet.Range(oSheet.Cells(rowNum+1,1),oSheet.Cells(rowNum+1,colSumCols);excRange.value=tableTile; /寻找列数,考虑到

13、第一行可能存在合并 for (var i=0; i1 ) cols += tmpcolspan-1; /定义2维容器数据,1:行;2:列;值(0 可以填充,1 已被填充) var container=new Array(rows);irows; containeri=new Array(cols); for (j=0;jcols;j+) containerij=0; /将所有单元置为文本,避免非数字列被自动变成科学计数法和丢失前缀的0 oSheet.Range(oSheet.Cells(rowNum+1,1), oSheet.Cells(rowNum+rows,cols).NumberForm

14、at = / Add obj headers going cell by cell./var str= for (i=0;i+)j+) /寻找开始列 for (k=j;k1) /合并 oSheet.Range(oSheet.Cells(i+1+rowNum,beginCol+1), oSheet.Cells(i+1+rowNum,beginCol+colSpans).Merge(); /将当前obj位置填写到对应的容器中 for (k=0; k1) /行合并 oSheet.Range(oSheet.Cells(i+1+rowNum,beginCol+1), oSheet.Cells(i+row

15、Spans+rowNum,beginCol+colSpans).Merge(); for (k=1;rowSpans;k+) /由于第0行已经被colSpans对应的代码填充了,故这里从第1行开始 for (l=0;l=cols) j=cols; catch(e) /字符大小为9 oSheet.Range(oSheet.Cells(rowNum+1,1), oSheet.Cells(rowNum+rows,cols).Font.Size=9; /自动调整列宽 oSheet.Range(oSheet.Cells(1,1), oSheet.Cells(rowNum+rows,cols).Columns.AutoFit(); /自动调整行高 oSheet.Range(oSheet.Cells(rowNum+1,1), oSheet.Cells(rowNum+rows,cols).Rows.AutoFit(); /划边框 oSheet.Range(oSheet.Cells(rowNum+1,1), oSheet.Cells(rowNum+rows,cols).Borders.LineStyle = 1; rowNum = rowNum +rows; return rowNum;function readExcel()

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1