PrintSample27.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>WEB打印控件LODOP的样例二十七:导出数据到Excel或图片文件</title>
  6. <script language="javascript" src="LodopFuncs.js"></script>
  7. </head>
  8. <body>
  9. <h2><font color="#009999">演示导出数据到Excel或图片文件:</font></h2>
  10. <p>如果超文本对象中有表格(table元素)数据,可用如下函数导出电子表格(Excel)文件,<br>
  11. 也可把打印内容整体导成图片文件(emf、wmf、jpg、jpeg、bmp、png等):</p>
  12. <p><font color="#0000FF">SAVE_TO_FILE(strFileName);<br>
  13. SET_SAVE_MODE(varModeName,varModeValue);</font><br>
  14. <br>
  15. 参数说明:<br>
  16. <font color="#0000FF">strFileName</font>:要保存的文件名,扩展名为“xls”导出电子表格,“emf”等导出图片。<br>
  17. <font color="#0000FF">varModeName</font>:保存模式,有“FILE_PROMPT”“PAGE_TYPE”等可以设置。<br>
  18. <font color="#0000FF">varModeValue</font>:模式值,其中“PAGE_TYPE”导出Excel用,值为数字,含义如下:<br>
  19. 0-不分页;&nbsp;&nbsp;<br>
  20. 1-保存到同一个Sheet中,但会加入分页符(PageBreak);<br>
  21. 2-分页到不同Sheet中;<h3><font color="#009999">演示:</font></h3>
  22. <p>一、弹出对话框把如下表格数据<a href="javascript:SaveAsFile();">另存为</a>Excel件。 </p>
  23. <p>二、直接<a href="javascript:OutToFileOneSheet();">导出数据</a>到文件:<input type="text" id="T1" size="15" value="C:\Test.xls"></p>
  24. <p>三、<a href="javascript:OutToFileMoreSheet();">导出数据</a>到Excel文件时每页保存到不同Sheet中,并设置页眉页脚等,<br>
  25. 同时返回所保存的目标文件名称为:<input type="text" id="T2" size="45" value="">
  26. </p>
  27. <p>四、弹出对话框<a href="javascript:SaveAsEmfFile();">把本页内容导出</a>为EMF图文件,图片大小与当前纸张大小一致。</p>
  28. <div id='div1'>
  29. <table border=1 width="571" height="281" style="border:solid 1px black;border-collapse:collapse;">
  30. <thead>
  31. <tr><th width="146" bgcolor="#C0C0C0" height="16" style="border:solid 1px"><font color="#0000FF" face="黑体">作者</font></th>
  32. <th width="220" bgcolor="#C0C0C0" colspan="2" height="16" style="border:solid 1px"><font color="#0000FF">歌曲题目</font></th>
  33. <th width="71" bgcolor="#C0C0C0" height="16" style="border:solid 1px"><font color="#0000FF">国籍</font></th>
  34. <th width="98" bgcolor="#C0C0C0" height="16" style="border:solid 1px"><font color="#0000FF">日期(收益)</font></th></tr>
  35. </thead>
  36. <tr>
  37. <td width="146" height="16" style="border:solid 1px"><span dataFld=ARTIST><input value="Input Dylan"></span></td>
  38. <td width="143" height="16" style="border:solid 1px"><span dataFld=TITLE>Empire Burlesque</span></td>
  39. <td width="71" height="54" rowspan="3" style="border:solid 1px"><span dataFld=COUNtrY>Pop</span></td>
  40. <td width="71" height="16" style="border:solid 1px"><span dataFld=COUNtrY>USA</span></td>
  41. <td width="98" height="16" style="border:solid 1px"><span dataFld=COUNtrY>1950-?-?</span></td>
  42. </tr>
  43. <tr>
  44. <td width="146" height="16" style="border:solid 1px"><span dataFld=ARTIST>Bonnie Tyler</span></td>
  45. <td width="143" height="16" style="border:solid 1px"><span dataFld=TITLE>Hide your heart</span></td>
  46. <td width="71" height="16" style="border:solid 1px"><span dataFld=COUNtrY>UK</span></td>
  47. <td width="98" height="16" style="border:solid 1px"><span dataFld=COUNtrY>1968-?-?</span></td>
  48. </tr>
  49. <tr>
  50. <td width="146" height="16" style="border:solid 1px"><span dataFld=ARTIST>Dolly Parton</span></td>
  51. <td width="143" height="16" style="border:solid 1px"><span dataFld=TITLE>Greatest Hits</span></td>
  52. <td width="71" height="16" style="border:solid 1px"><span dataFld=COUNtrY>USA</span></td>
  53. <td width="98" height="16" xformat="yyyy/mm/dd" style="border:solid 1px"><span dataFld=COUNtrY><b>1968-04-27</b></span></td>
  54. </tr>
  55. <tr>
  56. <td width="146" rowspan="3" height="60" style="border:solid 1px"><span dataFld=ARTIST>
  57. <textarea rows="2" cols="20" style="border:solid 1px">TextArea_Content</textarea><br>Gary Moore</span></td>
  58. <td width="143" height="16" style="border:solid 1px"><span dataFld=TITLE>Still got the <br>blues</span></td>
  59. <td width="71" rowspan="4" height="92" style="border:solid 1px">Classic</td>
  60. <td width="71" height="16" style="border:solid 1px"><span dataFld=COUNtrY>UK</span></td>
  61. <td width="98" height="16" style="border:solid 1px"><span dataFld=COUNtrY>1968-12-10</span></td>
  62. </tr>
  63. <tr>
  64. <td width="143" height="16" style="border:solid 1px"><span dataFld=TITLE>Eros</span></td>
  65. <td width="71" height="16" style="border:solid 1px"><span dataFld=COUNtrY>UK</span></td>
  66. <td width="98" height="16" style="border:solid 1px"><span dataFld=COUNtrY>1980-09-13</span></td>
  67. </tr>
  68. <tr>
  69. <td width="143" height="16" style="border:solid 1px"><span dataFld=TITLE>One night only</span></td>
  70. <td width="71" height="16" style="border:solid 1px"><span dataFld=COUNtrY>UK</span></td>
  71. <td width="98" height="16" style="border:solid 1px"><span dataFld=COUNtrY>1983-12-05</span></td>
  72. </tr>
  73. <tr>
  74. <td width="146" height="16" style="border:solid 1px"><span dataFld=ARTIST>Dr.Hook</span></td>
  75. <td width="143" height="16" style="border:solid 1px"><span dataFld=TITLE>Sylvias Mother</span></td>
  76. <td width="71" height="16" style="border:solid 1px"><span dataFld=COUNtrY>UK</span></td>
  77. <td width="98" height="16" xformat="0.00%" style="border:solid 1px"><span dataFld=COUNtrY><b>0.845</b></span></td>
  78. </tr>
  79. <tr>
  80. <td width="146" height="16" style="border:solid 1px"><span dataFld=ARTIST>Rod Stewart</span></td>
  81. <td width="220" colspan="2" height="32" rowspan="2" style="border:solid 1px"><span dataFld=TITLE>
  82. <img border="0" src="http://s1.sinaimg.cn/middle/4fe4ba17hb5afe2caa990&690" width=150 height=40 />
  83. </span></td>
  84. <td width="71" height="16" style="border:solid 1px"><span dataFld=COUNtrY>UK</span></td>
  85. <td width="98" height="16" xformat="#,##0.00" style="border:solid 1px"><span dataFld=COUNtrY><b>34545.07</b></span></td>
  86. </tr>
  87. <tr>
  88. <td width="146" height="16" style="border:solid 1px"><span dataFld=ARTIST>Andrea Bocelli</span></td>
  89. <td width="71" rowspan="2" height="11" style="border:solid 1px"><span dataFld=COUNtrY>EU</span></td>
  90. <td width="98" rowspan="2" height="11" xformat="¥#,##0.00" style="border:solid 1px"><span dataFld=COUNtrY><b>12588.76</b></span></td>
  91. </tr>
  92. <tr>
  93. <td width="366" colspan="3" height="1" xformat="@" style="border:solid 1px">
  94. <p align="center"><b>370104196802231516</b></td>
  95. </tr>
  96. <tr>
  97. <td width="146" height="16" style="border:solid 1px"><span dataFld=ARTIST>Percy Sledge</span></td>
  98. <td width="220" colspan="2" height="16" xformat="@" style="border:solid 1px"><span dataFld=TITLE><b>370104196802231516</b></span></td>
  99. <td width="71" height="16" style="border:solid 1px"><span dataFld=COUNtrY>USA</span></td>
  100. <td width="98" height="16" style="border:solid 1px"><span dataFld=COUNtrY>2005-08-01</span></td>
  101. </tr>
  102. <tr>
  103. <td width="146" height="16" style="border:solid 1px"><span dataFld=ARTIST>Savage Rose</span></td>
  104. <td width="220" colspan="2" height="16" style="border:solid 1px"><span dataFld=TITLE>Black angel</span></td>
  105. <td width="71" height="16" style="border:solid 1px"><span dataFld=COUNtrY>EU</span></td>
  106. <td width="98" height="16" style="border:solid 1px"><span dataFld=COUNtrY>2004-12-19</span></td>
  107. </tr>
  108. <tfoot>
  109. <tr>
  110. <th width="146" bgcolor="#C0C0C0" height="16" style="border:solid 1px"><font color="#008080">歌曲作者</font></th>
  111. <th bgcolor="#C0C0C0" width="220" colspan="2" height="16" style="border:solid 1px"><font color="#008080">曲目名称</font></th>
  112. <th bgcolor="#C0C0C0" width="183" height="16" colspan="2" style="border:solid 1px"><font color="#008080">作者国籍</font></th>
  113. </tr>
  114. </tfoot>
  115. </table>
  116. </div>
  117. <br><i>注:每个单元格的数据用元素td(或th)的</i>xformat<i>属性值来设置其类型格式,</i>
  118. &nbsp;<br>
  119. &nbsp;&nbsp; <i>请注意观察以上粗体单元格的数据导出后的格式变化。</i>
  120. <p><a href="PrintSampIndex.html">&lt;&lt;回样例目录</a></p>
  121. <script language="javascript" type="text/javascript">
  122. var LODOP; //声明为全局变量
  123. function SaveAsFile(){
  124. LODOP=getLodop();
  125. LODOP.PRINT_INIT("");
  126. LODOP.ADD_PRINT_TABLE(100,20,500,80,document.documentElement.innerHTML);
  127. LODOP.SET_SAVE_MODE("Orientation",2); //Excel文件的页面设置:横向打印 1-纵向,2-横向;
  128. LODOP.SET_SAVE_MODE("PaperSize",9); //Excel文件的页面设置:纸张大小 9-对应A4
  129. LODOP.SET_SAVE_MODE("Zoom",90); //Excel文件的页面设置:缩放比例
  130. LODOP.SET_SAVE_MODE("CenterHorizontally",true);//Excel文件的页面设置:页面水平居中
  131. LODOP.SET_SAVE_MODE("CenterVertically",true); //Excel文件的页面设置:页面垂直居中
  132. // LODOP.SET_SAVE_MODE("QUICK_SAVE",true);//快速生成(无表格样式,数据量较大时或许用到)
  133. LODOP.SAVE_TO_FILE("新文件名.xls");
  134. };
  135. function OutToFileOneSheet(){
  136. LODOP=getLodop();
  137. LODOP.PRINT_INIT("");
  138. LODOP.ADD_PRINT_TABLE(100,20,500,60,document.getElementById("div1").innerHTML);
  139. LODOP.SET_SAVE_MODE("FILE_PROMPT",false);
  140. if (LODOP.CVERSION) {
  141. LODOP.On_Return=function(TaskID,Value){if(Value) alert("导出成功!");};
  142. LODOP.SAVE_TO_FILE(document.getElementById("T1").value);
  143. } else if (LODOP.SAVE_TO_FILE(document.getElementById("T1").value)) alert("导出成功!");
  144. };
  145. function OutToFileMoreSheet(){
  146. LODOP=getLodop();
  147. LODOP.PRINT_INIT("");
  148. LODOP.ADD_PRINT_TABLE(100,20,500,60,document.documentElement.innerHTML);
  149. LODOP.SET_SAVE_MODE("PAGE_TYPE",2);
  150. LODOP.SET_SAVE_MODE("CenterHeader","页眉"); //Excel文件的页面设置
  151. LODOP.SET_SAVE_MODE("CenterFooter","第&P页"); //Excel文件的页面设置
  152. LODOP.SET_SAVE_MODE("Caption","我的标题栏");//Excel文件的页面设置
  153. LODOP.SET_SAVE_MODE("RETURN_FILE_NAME",1);
  154. if (LODOP.CVERSION) {
  155. LODOP.On_Return=function(TaskID,Value){document.getElementById("T2").value=Value;};
  156. LODOP.SAVE_TO_FILE("多个Sheet的文件.xls");
  157. document.getElementById("T2").value="请等待结果...";
  158. } else document.getElementById("T2").value=LODOP.SAVE_TO_FILE("多个Sheet的文件.xls");
  159. };
  160. function SaveAsEmfFile(){
  161. LODOP=getLodop();
  162. LODOP.PRINT_INIT("");
  163. LODOP.ADD_PRINT_HTM(0,0,"100%","100%",document.documentElement.innerHTML);
  164. LODOP.SET_SAVE_MODE("SAVEAS_IMGFILE_EXENAME",".emf");
  165. LODOP.SAVE_TO_FILE("新的矢量图片文件.emf");
  166. };
  167. </script>
  168. </body>