我需要創建一個腳本,用於從複雜的Excel 2003文件(在單個工作表內有多個工作表和不同的表)中提取一些數據,並生成需要的不同XML文件針對給定的XSD文件進行驗證。從Excel文件創建有效XML文件的最佳工具
我的首選語言是Python; 來創建和驗證XML文件我會去lxml。
你對解析XLS文件有何建議?
是xlrd適用於複雜Excel文件的正確工具嗎?
或者我是否需要手動將所有工作表轉換爲CSV格式,並逐行讀取文件,拆分並獲取數據?
我接受C#,VB6,VBA建議。
我需要創建一個腳本,用於從複雜的Excel 2003文件(在單個工作表內有多個工作表和不同的表)中提取一些數據,並生成需要的不同XML文件針對給定的XSD文件進行驗證。從Excel文件創建有效XML文件的最佳工具
我的首選語言是Python; 來創建和驗證XML文件我會去lxml。
你對解析XLS文件有何建議?
是xlrd適用於複雜Excel文件的正確工具嗎?
或者我是否需要手動將所有工作表轉換爲CSV格式,並逐行讀取文件,拆分並獲取數據?
我接受C#,VB6,VBA建議。
[免責聲明:我xlrd的作者]
xlrd很適合爲這種工作。從PyPI獲取最新版本。從教程找到here的味道。 XLSX支持在alpha測試中;如果您需要,請發郵件給我。 save-as-CSV方法的尷尬和損失是促使我編寫xlrd的原因之一。
你的圖書館工作就像一個魅力,再次感謝。 – systempuntoout 2010-11-18 15:10:25
Xlrd沒問題。我們廣泛使用它來導入XLS文件,其中包含多個工作表和以自定義(非Latin-1)編碼方式呈現的數據。
我不能回答xlrd/python是否是正確的工具 - 因爲我不太瞭解python。
但是有很多方法可以訪問excel數據......主要的是你有VBA直接構建到Excel中。
然後,你必須Ado.net See David Hayden's article here它允許你通過任何DOTNET的語言訪問數據......甚至IronPython
表有多個表(不同行上的標題),在這種情況下,ADO也能工作嗎? – systempuntoout 2010-05-13 09:01:17
我試過ADO.net,它對複雜的表單不合適。把它們看作是獨立的牀單。 xlrd看到他們正確,但那麼你必須導入python :-) – 2012-10-01 08:24:52
我確信此任務的最簡單解決方案是將Excel VBA與MSXML解析器一起使用。查看here瞭解一些鏈接如何在VBA中使用MSXML分析器來讀取XML文件;我認爲,您可以輕鬆地將它用於編寫XML文件。
難道是.xslx Office 2007格式? – Tomalak 2010-05-13 07:15:48
腳本或進程是否可以訪問Excel? – Adrian 2010-05-13 08:13:40
@Adrian當然。 – systempuntoout 2010-05-13 08:15:25