excel读取问题
1.在pb中用oo.Activesheet.cells(1,1).value得出的数据,英文和数字没问题,中文就有乱码,如何解决
2.同上,如果excel中是"1980.01",我如何转换成日期型,好像用date('1980.01')不行。
3.如何读出excel中的图片(图片文件路径)
问题点数:100、回复次数:9Top
1 楼princelily(百合)回复于 2005-06-01 16:51:26 得分 10
友情+帮顶!Top
2 楼princelily(百合)回复于 2005-06-01 16:54:00 得分 0
第二个问题,要想把一个字符串变为date类型的数据,也需要符合一定规范才可以转化的。
date("2005-6-1")这样才可以哦!Top
3 楼pobosskey(有房有车(租的房+自行车))回复于 2005-06-01 17:26:58 得分 20
给你方法,把excel表格中的数据弄到dw中,呵呵,到dw里面就你想怎么弄就怎么弄了!
IF GetFileOpenName("选择要导入的文件",ls_path,ls_file, "txt","文本格式(*.txt),*.txt,电子表格(Excel),*.xls,DBF 3(dabase Ⅲ),*.dbf") = 1 THEN
sle_filename.text=ls_path
ls_type = 'xls'
dw_list.CREATE(ls_sql,ls_err)
CHOOSE CASE ls_type
CASE 'txt'
ls_targerfile = ls_path
CASE 'xls','dbf'
OLEObject ExcelServer
ExcelServer = CREATE OLEObject
IF ExcelServer.ConnectToNewObject( "excel.application" ) < 0 THEN
messagebox("","连接excel失败,检查你的系统是否安装了office,必须安装EXCLE才可以使用该导入功能!")
ELSE
lb_delete =TRUE//需要删除临时文件
ExcelServer.Workbooks.Open(ls_path)
ls_targerfile=Left(ls_path,Len(ls_path) - 4) + "_temp.txt"
excelserver.activeworkbook.saveas(ls_targerfile,3)
excelserver.displayalerts=false
excelserver.displayalerts=true
ExcelServer.quit()
ExcelServer.DisconnectObject()
//DESTROY ExcelServer
END IF
case else
return
end choose
else
return
end if
dw_list.importfile(ls_targerfile,2)
IF dw_list.RowCount() = 0 THEN
messagebox("", '待导入数据没有任何记录!')
ls_sql = SqlCa.SynTaxFromSql(ls_sql,'style(type=grid)',ls_err)
IF Len(ls_err) > 0 THEN
IF lb_delete THEN
FileDelete(ls_targerfile)
END IF
messagebox("", '在读取数据时出现问题。发现了一些不应该有的!~n' + ls_err)
END IF
end if
//ExcelServer =
destroy ExcelServerTop
4 楼wjtben(懒鱼冲树)回复于 2005-06-01 17:28:08 得分 10
gzTop
5 楼hygougou(uoguogyh)回复于 2005-06-02 01:13:19 得分 40
1、可以先用代码转换成文本格式再读取,那就方便多了---也可参考宏语法
string ls_tempfile = 'c:\demo.xls'
If Upper(Right(ls_tempfile,3)) = 'XLS' Then
is_textfile = 'c:\temp.txt'
If FileExists(is_textfile) Then FileDelete(is_textfile)
OLEObject ole_excel
ole_excel = Create OLEObject;
If ole_excel.ConnectToNewObject("Excel.Application") = 0 Then
//连接到Excel
//关闭警告消息对话框,防止退出Excel时提示
ole_excel.Application.DisplayAlerts = False
//打开Excel文件,含路径
ole_excel.Application.Workbooks.Open(ls_tempfile)
//把打开的Excel文件另存为Text文件,第二参数表示数据以制表符TAB分隔
ole_excel.Application.ActiveWorkbook.SaveAs(is_textfile,-4158)
//退出Excel
ole_excel.Application.Quit()
Else
Messagebox('错误','无法建立与Excel的连接!',StopSign!)
Destroy ole_excel
End If
End If
//读取文本的代码
.................................................
2、这个参考百合的
3、可以加个超级连接(即路径)----参考VBA宏的语法Top
6 楼killer2008(现代汉语词典)回复于 2005-06-02 20:22:43 得分 0
对于第3个问题,如果excel是我生成的就可以这样,但是这个Excel是别人做好了,我来接收,如何将图片读出?Top
7 楼gu_ww(远不是行家!)回复于 2005-06-03 18:06:57 得分 5
接受过来的数据 你也可以转化一下了的Top
8 楼aichangfeng(PowerBuilder/VB.NET)回复于 2005-06-04 12:27:34 得分 5
我覺得應該先轉換成HTML格式,可能就不會亂碼了,讀取圖片可能要專門寫一個函數Top
9 楼supermjh(supermjh)回复于 2005-06-04 21:56:46 得分 10
pb9就没问题,我前天刚做这个功能,很正常。是你的pb版本低Top




