Board logo

标题: [问题求助] 请问如何在没有安装Excel的情况下用VBS生成xls文件 [打印本页]

作者: vmzlv    时间: 2014-5-9 15:13     标题: 请问如何在没有安装Excel的情况下用VBS生成xls文件

RT,请教大神。
或者有什么绿色一点的方法吗?反正就是不安装Excel.

作者: terse    时间: 2014-5-9 16:26

直接记事本也可以吧
作者: CrLf    时间: 2014-5-9 17:25

普通的表格可以直接生成 html 格式的 table,后缀名改为 xls 即可,但估计不能支持 公式 和 宏
作者: vmzlv    时间: 2014-5-9 17:40

回复,是啊,文本文件直接改成xls的后缀名excel也认的,就是不是很标准的Excel文件 3# CrLf
作者: CrLf    时间: 2014-5-9 17:50

回复 4# vmzlv


    最简单的是生成 csv,后缀一改就行,但更好的选择是生成 html,可创建包含图片、链接、样式等复杂属性的表格,原生 xls 中所包含的信息,大部分都能用 html 实现
    你可以试着在 excel 里放一点样本,然后另存为网页,再对得到的 html 进行化简,就知道如何生成能让 excel 理解的 html 了,比如用标准的 table 包含表格数据,用 href、color 等属性设置超链接和颜色等
作者: CrLf    时间: 2014-5-9 18:52

本帖最后由 CrLf 于 2014-5-9 20:35 编辑

举个例子,把下面的内容保存为 test.xls,即可看到效果:
  1. <head>
  2. <style>
  3. table
  4. {
  5. border:1pt solid;
  6. }
  7. td
  8. {
  9. border:.5pt solid;
  10. }
  11. ;样式示例
  12. </sytle>
  13. </head>
  14. <table>
  15. <th style="background-color:yellow;">
  16. <td style="background-color:yellow;">序号</td>
  17. <td colspan=2 style="background-color:yellow;">示例</td>
  18. </th>
  19. <tr>
  20. <td rowspan=2>跨行示例</td>
  21. <td>1</td>
  22. <td colspan=2>跨列示例</td>
  23. </tr>
  24. <tr>
  25. <td>2</td>
  26. <td href="http://www.baidu.com" style="font-weight:bold"><b><s>标签示例 粗体与删除线</s></b></td><td style="color:blue" href="http://bbs.bathome.net">属性示例 颜色与链接</td>
  27. </tr>
  28. <img src="http://www.baidu.com/img/bdlogo.gif" />
  29. </table>
复制代码
测试中发现几个不如意的地方:
  1. 导出的 html 是支持 class 引用的,但自己组装的不知道为啥未生效(也许是我忽略了什么东西吧...)
  2. 有些属性不被继承(也许是我忽略了什么东西吧...)
  3. 某些属性不能只应用于局部文字内容(原生 xls 也是如此)
  4. 设置的事件不生效(情理之中)
复制代码
有了思路后,如何用脚本生成 html 就只是体力活罢了
作者: vmzlv    时间: 2014-5-9 19:39



真是十分滴感谢,还帮忙测试。
之前我只试过在文本文件里面排好数据之后Excel能打开,还不知道HTML的排版Excel也认,学习了。
一开始我这边就想重复用脚本生成xls文件然后写个标题就可以了,其他复杂的操作用不到,所以装Excel有点那啥、
用Java到倒是有excel的开源库,但是vbs这边还不想轻易放弃、
6# CrLf





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2