aardio 官方社区

用户名  找回密码
 注册会员

QQ登录

只需一步,快速开始

帖子
查看: 11485|回复: 3

请教如何将excel文件保存成网页,直接用saveas为乱码

[复制链接]

6

主题

86

回帖

794

积分

三级会员

积分
794
发表于 2016-6-11 12:08:09 | 显示全部楼层 |阅读模式
用下面的代码,生成的文件打开是很乱的内容。
import win.ui;
import com;
import fsys.dlg;
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add(
button2={cls="button";text="excel另存为网页";left=497;top=38;right=654;bottom=84;z=2}
)
/*}}*/

winform.button2.oncommand = function(id,event){
        var fxls=fsys.dlg.open("excel2003文件|*.xls","选择要打开的excel文件","d:\")
        if(!#fxls){
        return ;
        }
        var excel = com.CreateObject("Excel.Application");
        excel.Visible=false;
        var book=excel.Workbooks.open(fxls);
        var sheet=book.sheets(1)
        sheet.saveas("d:\1.htm",FileFormat=xlHtml)  //用book.saveas出来的文件也是一样的内容。

        book.close(false)
        excel.application.quit()
        com.Release(excel)
        winform.button2.text="ok"       
}


查看标准库中excel操作,只有四种格式。
如果要导出htm或者mht格式,是否在标准库里增加支持htm或mht格式来可以实现?

                SaveAs = function(path,format){
                        if(!#path) error("请指定保存路径",2);
                       
                        if(format===null){
                                var ext =  ..string.match(path,"[^.]+$");
                                if( ext ){
                                        format = ( {
                                                xls = 0x2B/*_xlExcel9795*/;
                                                xlsx = 0x33/*_xlOpenXMLWorkbook*/;
                                                xlsm = 0x2E/*_xlXMLSpreadsheet*/;
                                                xlsb = 0x32/*_xlExcel12*/;
                                        } ) [..string.lower(ext)];
                                };
                        }
                        return owner.ActiveWorkbook.SaveAs( ..io.fullpath(path),format );
                };

6

主题

86

回帖

794

积分

三级会员

积分
794
 楼主| 发表于 2016-6-11 12:12:33 | 显示全部楼层
问题应该出在 FileFormat=xlHtml这里。但是直接用 “xlHtml”替换又提示saveas方法错误。
是库不支持这个格式吧。
但是修改库文件,又该如何修改呢?

6

主题

86

回帖

794

积分

三级会员

积分
794
 楼主| 发表于 2016-6-15 21:07:01 | 显示全部楼层
终于开窍。
直接改成44就好了。

2

主题

24

回帖

135

积分

一级会员

积分
135
QQ
发表于 2016-10-22 03:27:24 来自手机 | 显示全部楼层
学习学习!!
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2025-6-10 22:35 , Processed in 0.077531 second(s), 24 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表