由于系统的需要,要国际化,但是由于那些字符串和翻译都写在EXCEL表格里面,如果一个一个的复制出来,那是相当麻烦的所以老大让我写一个转换器,从EXECEL表格中导出数据,然后写到PO扩展名的文本文件,要求UTF-8的编码格式的
UTF-8是UNICODE编码格式的一种特殊情况对于汉字的处理,它是采用了三个字节对于它的具体情况,在这就不具体介绍,网上有相当多的资料在VB中,有很多API可以提供,比如连接EXCEL、连接数据库、ADODB数据流等。这些API都可以很方便的引用。
在写的过程中,让我有点苦恼的是,用UTF-8编码编写的文本文件,都会产生一个BOM,这使得转换出来的文件,在系统编译中编译不过去,必须要把BOM去掉。接下来通过代码讲讲怎么实现。
Dim app As ExcelApplication
Dim eworkbook As Workbook
Dim eworksheet As Worksheet
Dim eworksheet_count As Integer
Dim sheetName As String
Dim obj As Object
Dim FileNum
Dim file_path as String
Dim j as Integer
Dim filepath_save as String
filepath_save = "d:\"
Set app = New ExcelApplication //连接EXCEL
Set eworkbook = appWorkbooksOpen(file_path)
eworkbook_count = eworkbookWorksheetscount
For j = 1 To eworkbook_count
filepath_path = filepath_save & j & "txt"
Set eworksheet = eworkbookSheets(j)
sheetName = eworksheetName
Set obj = New ADODBStream //设置ADODB流
With obj
Open
Charset = "UTF-8"
Position = Size
WriteText "helloworld", 1
SaveToFile filepath_save
Close
End With
Set obj = Nothing
Open filepath_save For Input As #1 //消除UTF-8的BOM
Line Input #1, str
mm = Replace(str, str, "msgid """"")
Close #1
Open filepath_save For Binary As #FileNum
Put #FileNum, , mm
Close #FileNum
Next j
Set eworksheet = Nothing
eworkbookClose
Set eworkbook = Nothing
appQuit
Set app = Nothing
这是其中的一部分关键的代码,如果没有设置UTF-8的编码格式的话,一般NOTEPADE的写入格式都是默认为ANSI。好久没用VB写代码了,不过这次用起来还是感觉比较好的。所以在学校多学点是好的。
苹果电脑打开文件显示 文本编码"Unicode (UTF-8)"不适用”是设置错误在造成的,解决方法为:
1、首先,打开“文本编辑”程序。
2、打开"文本编辑"的"偏好设置"。
3、切换到"打开和存储"选项,在“纯文本文件编码”中设置“打开文件”的值为“中文(GB-18030)。退出。
4、重新打开刚才的文本文件,OK了。
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)