2012-05-16 41 views
0

我有以逗號分隔格式的文本文件。但是,數據的格式使得Excel無法推斷如何格式化對用戶有意義的數據(即內置導入嚮導不足)。因此,我想我需要構建一個插件/腳本/宏/等來分析數據,然後在Excel中顯示它。如何使用Excel查看專有分隔文件

當一切都說過和做過,我的目標是:

  1. 打開Excel
  2. 進口從桌面文本文件
  3. 解析的格式的數據
  4. 顯示在Excel中的數據這對用戶有意義。

而且,我最終什麼解決了決策,我想該解決方案分發到其他Excel用戶(即我想我可以給他們一個Excel插件或也許一個Excel模板)

我從未以編程方式與Excel進行過交互 - 無論是Macro,VBA腳本還是.NET Office插件等。所以,我不確定如何實現我的目標。

我不是問如何以編程方式解析數據,也不是問如何將數據顯示給用戶。我的問題是關於什麼「正常」的Excel解決方案是這種類型的問題 - 這個問題最好通過宏,VBA腳本或.NET的Office工具等解決?

+0

如果是逗號分隔,我不明白爲什麼使用嚮導(確保選擇了使用逗號作爲分隔符的選項)不起作用。 – assylias

+0

@assylias,因爲數據文件由數據的子集組成。我正在使用的原始數據文件包含數以千計的行,其中每行以標識符開頭,該標識符告訴我該行包含哪些內容。根據行標識符,該行可以包含另一個父行數據的子項的數據。最後一行,手動創建所有行關聯(導入嚮導)實際上是不可能的。解決方案需要自動化。 – Jed

+0

如果您打算像上面提到的那樣分發解決方案,那麼我會推薦使用VSTO創建的Excel加載項。 –

回答

0

我記得大多數文本文件記錄是以記錄類型開始的,多記錄類型文件很常見。只有Excel等軟件包的侷限性使得這種做法不常見。

使用導入嚮導,您是否嘗試接受應導致Excel分別解析每個字段的默認常規格式?

如果這不起作用,分別讀取行並使用VBA將其解析爲字段並不困難。我有一個例程,我會很樂意分享。顯示數據是非常有意義的,取決於數據的性質。請詳細說明。

至於它是如何使用的是一個例子,一個包可能分享一批發票與記錄類型的文本文件:

1 Batch header 
2 Invoice header   \ 
3 Invoice line  Repeats | Repeats as group 
4 Invoice trailer   /
5 Batch trailer 

每條記錄​​都將有自己的規範。

我假設你的文件是這樣的。格式化這些數據並不困難,因此它看起來像Excel工作表一樣正常。如果您提供更多信息,我相信人們會很樂意提出建議。

相關問題