hur.cn - 华软网

 热门搜索

为什么我从pb读取excel文件时,显示的内容是乱码

  作者:未知    来源:网络    更新时间:2019/7/30
列位高手帮我看看我这个代码有错吗?为什么导出来的EXCEL资料显示的内容都是乱码呢?
OLEObject ole_object,ole_workbooks
ole_object=create OLEObject
ole_object.ConnectToNewObject("excel.Application")
ole_object.workbooks.add
ole_object.visible=true
ole_workbooks=ole_object.worksheets(1)
ole_workbooks.cells(1,1).value="条形码"
ole_workbooks.cells(1,2).value="编号"
ole_workbooks.cells(1,3).value="姓名"
ole_workbooks.cells(1,4).value="性别"
ole_workbooks.cells(1,5).value="类型"
ole_workbooks.cells(1,6).value="出生日期"
ole_workbooks.cells(1,7).value="有效证件"
ole_workbooks.cells(1,8).value="证件号码"
long row_num
for row_num=2 to dw_1.rowcount()
ole_workbooks.cells(row_num,1).value=dw_1.getitemstring(row_num,1)
ole_workbooks.cells(row_num,2).value=dw_1.getitemstring(row_num,2)
ole_workbooks.cells(row_num,3).value=dw_1.getitemstring(row_num,3)
ole_workbooks.cells(row_num,4).value=dw_1.getitemstring(row_num,4)
ole_workbooks.cells(row_num,5).value=dw_1.getitemstring(row_num,5)
ole_workbooks.cells(row_num,6).value=dw_1.getitemstring(row_num,6)
ole_workbooks.cells(row_num,7).value=dw_1.getitemstring(row_num,7)
ole_workbooks.cells(row_num,8).value=dw_1.getitemstring(row_num,8)
next
ole_object.quit()
ole_object.disconnectobject()
destroy ole_object
destroy ole_workbooks
------华软网友回答------
没试过会这样,
------华软网友回复------
列位大侠快帮帮助啊,真的是无从下手了
------华软网友回复------
字体
------华软网友回复------
没遇到过
------华软网友回复------
什么字体啊?
------华软网友回复------
重新设置一下字体,试一试:
Ole_object.Application.StandardFont="宋体"
------华软网友回复------
在哪设置啊?我加进去了,照旧乱码呢?
------华软网友回复------
//给你个他人得例子看看:

OleObject Loo_Excel
Loo_Excel=create oleobject
if Loo_Excel.ConnectToNewObject("Excel.Application") <> 0 then
    messagebox('提醒','系統未安裝Excel,無法運行此操作!')
return
end if 
Loo_Excel.Application.Workbooks.Add()
Loo_Excel.Application.Workbooks(1).worksheets(1)
Loo_Excel.Application.Visible = True
Loo_Excel.Application.ScreenUpdating = false 

//'正在處理表頭......'
Loo_Excel.Range("A1:AB1").Select
Loo_Excel.Selection.MergeCells  = True
Loo_Excel.Selection.HorizontalAlignment = 3
Loo_Excel.Selection.VerticalAlignment = 3
Loo_Excel.Selection.Font.Bold = True
Loo_Excel.Selection.Font.Size = 14
Loo_Excel.Selection.RowHeight = 28.50
Loo_Excel.ActiveCell.FormulaR1C1 = dw_3.describe("ls_title"+".text")
///写标头
Loo_Excel.application.workbooks(1).worksheets(1).cells(3, 1 ).value = "排單號碼" 
// dw_2.describe("po_no"+".name"+"_t.text") 
Loo_Excel.application.workbooks(1).worksheets(1).cells(3, 2 ).value = "客人款號"
Loo_Excel.application.workbooks(1).worksheets(1).cells(3, 3 ).value =  dw_2.describe("cust_nam_t.text")  
///内容
for i=1 to dw_2.rowcount()
    Loo_Excel.application.workbooks(1).worksheets(1).cells(3+i, 1).value =  string( dw_2.object.po_no[i] )
next

Loo_Excel.application.ActiveWorkbook.SaveAs(ls_filename)
Loo_Excel.Application.ScreenUpdating = True
Loo_Excel.DisconnectObject()

------华软网友回复------
我真的没辙了,是否是还要设置那里啊,不论怎么用都照旧乱码呢
------华软网友回复------
pb 什么版本 ? 我也遇到,在6.5里乱码,在9 里正常!
------华软网友回复------
left(ole_workbooks.cells(row_num,1).value,len(ole_workbooks.cells(row_num,1).value) - 2)
------华软网友回复------
EXCEL最后掏出值,在最后会有二位的ASCII,去掉就能够了
------华软网友回复------
我的是9的呢
------华软网友回复------
有没有谁能够给个完整的代码呢?      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。