DataWindow控件保存为Excel时中文有时出现乱码。

Samoon 2008-07-27 01:50:46
以下代码是使用网上广为流传的那段DataWindow数据转excel代码修改了一下。我使用的是Pb10.5 和office2003 。有时候很正常,包括数据量很大的情况下。但有时候反而是在大数据能正常转为excel的情况下抽取里面的其中几条数据转换时发生中文乱码的情况。搞不懂....有没有什么方法解决?


//F_nowdate是提取数据库日期的全局函数
string docname ,docname1
docname=string(F_nowdate) +"查"+"订单未做BOM列表"
docname1=docname+".xls"

if w_main.dw_1.SaveAs(docname1, HTMLTable!, True) = -1 then
MessageBox("Warning", "Unable to export data. Error writing to file!", Exclamation!)
return
end if


// Convert HTML file to Excel native format
OLEObject excel
excel = CREATE OLEObject
if excel.ConnectToObject(docname) = 0 then
excel.application.DisplayAlerts = FALSE
excel.application.workbooks(1).Parent.Windows(excel.application.workbooks(1).Name).Visible = True
excel.application.workbooks(1).saveas(docname1, 39)
excel.application.workbooks(1).close()
end if

DESTROY excel
...全文
133 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
orcd 2008-07-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Samoon 的回复:]
回friendwaters 偶尔冲动兄:dw2xls我download了,我是新手,不知道怎么导入。又不知道哪些东西是有用的。想运行一下看看效果,但报错无法连接数据库。我用的pb10.5。该成连接我平时使用的syebase数据库又报一个什么错误。

回wangxun0997兄:我试过用43 还是不能解决问题。其实问题会不会不是出在saveas函数上面?因为同样的数据有时候不会乱码,有时候出现乱码。
[/Quote]

网上的我没有具体看过,我用的比较老的版本,用法很简单,他提供的是一个pbl,导入到你的系统中。
用法很简单
uf_save_dw_as_excel(dw_kc,ls_filename)//第一个参数是数据要导出的数据窗口,第二个是导出后默认的名字
Samoon 2008-07-27
  • 打赏
  • 举报
回复
回friendwaters 偶尔冲动兄:dw2xls我download了,我是新手,不知道怎么导入。又不知道哪些东西是有用的。想运行一下看看效果,但报错无法连接数据库。我用的pb10.5。该成连接我平时使用的syebase数据库又报一个什么错误。

回wangxun0997兄:我试过用43 还是不能解决问题。其实问题会不会不是出在saveas函数上面?因为同样的数据有时候不会乱码,有时候出现乱码。
wangxun0997 2008-07-27
  • 打赏
  • 举报
回复
其实你的代码完成了DataWindow到HtmlTable格式,再使用EXCEL OLE将HtmlTable格式到格式39(Excel5\Excel7)的另存过程,首先你要通过分解代码测试以确定是那个过程产生了乱码,不过不管那个过程产生乱码,你只能通过修改SaveAs函数的格式参数来达到你要的效果。(至于EXCEL中的SaveAs函数格式参数可通过EXCEL帮助查询,我们一般使用43[Excel97/95])
orcd 2008-07-27
  • 打赏
  • 举报
回复
试试dw2xls
http://download.csdn.net/source/481765

740

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧