我正在使用宏爲我的xlsm文件中的每個工作表創建csv文件。使用unicode數據爲Excel工作表製作csv的Excel宏
這是unicode數據,大約有50000行,有些列有日期。
通過逐個單元格並將該數據附加到csv文件是 需要很長時間。
你可以請我建議一些方法來創建具有大數據的unicode工作表的csv文件?
我正在使用宏爲我的xlsm文件中的每個工作表創建csv文件。使用unicode數據爲Excel工作表製作csv的Excel宏
這是unicode數據,大約有50000行,有些列有日期。
通過逐個單元格並將該數據附加到csv文件是 需要很長時間。
你可以請我建議一些方法來創建具有大數據的unicode工作表的csv文件?
Excel能夠保存爲已經構建的csv文件:不需要您明確地對其進行編碼。這將比你在VBA中編寫的任何代碼都快。
最簡單的方法是發現如何使用宏記錄器(可在開發人員選項卡上找到)並將文件另存爲csv。
對於csv的保存不適用於excel工作表具有諸如chiunese字符的unicode數據。這些字符將被隨機字符替換,如「????」。所以我用一個宏手動添加數據到csv文件 – user3272605 2014-08-28 13:15:18
你可以強制保存爲UTF-8。 *應該*起作用。 – Bathsheba 2014-08-28 13:20:09
'.SaveAs'有一個'TextCodepage'參數,但不幸的是,它被忽略,系統語言環境代碼頁被使用:[SaveAs link](http://msdn.microsoft.com/zh-cn/library/office /ff841185(v=office.15).aspx)。 – 2014-08-29 20:47:45
只需將值放入數組中,然後將其粘貼到工作表。
Set TheRange = Range(Cells(1, 1), Cells(50000, 100))'Set worksheet range
ReDim TempArray(1 To 50000, 1 To 100)
' Fill the temporary array here
->some code to fill our "TempArray"<-
' Copy array to worksheet
TheRange.Value = TempArray
在宏,使用與UTF-8編碼文件流(用於寫入CSV文件)中保留Unicode字符的工作,但CSV文件的創建是對於像50000行的大數據非常緩慢,10列。 – user3272605 2014-08-28 13:17:09