2011-04-21 27 views
0

HI; 打開文件時,我無法將CSV文件連接到SpreadSheet。目前有一個不斷更新的csv日誌文件。通過從外部來源的普通導入,我可以將它連接到Excel SpreadSheet,並且每小時刷新一次。但是,它是一個大文件,所以我需要使用EXCEL SQL生成報告。它不允許我在打開文件時連接到該文件。它說MS Jet數據庫引擎無法打開文件'未知'。它已被其他用戶專門打開,或者我需要查看其數據的權限。如果授予許可是他的問題,我在哪裏授予我許可。在一個標準的Impor上,我在打開文件時讀取文件沒有問題,但在其他情況下,請收到此消息,無法進行處理。任何幫助,將不勝感激。如果我關閉更新程序,則可以運行查詢,但如果更新正在運行,則不能運行。 使用MSO 2007 W7 x64無法通過ODBC將csv連接到Excel

回答

0

它不允許我在打開文件時連接到該文件。

這是正確的,它不會 - 沒有辦法改變這一點。

你必須找到另一種方法來解決你的問題。

  1. 該文件有多大?您可能可以複製臨時文件名,並將Excel連接到該文件。

  2. 這聽起來像你正在訪問一個日誌文件。 LogParser可以讀取CSV。在任何情況下,LogParser都具有出色的類SQL語法,並且可以比ODBC更快速,更可靠地讀取CSV文件。它也可以從Excel VBA(或腳本)編程。也許你可以使用LogParser來提取感興趣的值,然後將它們加載到Excel表中。

我懷疑你最好的解決方法是將使用從Excel VBA的LOGPARSER的MSUtil.LogQuery對象,感興趣的值提取到您的電子表格。由於我不知道你在做什麼,這只是一個猜測!

我不能建議LOGPARSER的高度不夠 - 這是一個奇妙的工具,並且可以讀取幾乎所有標準型日誌文件,CSV,TSV,W3C,以及純文本文件和Windows NT事件日誌:

+0

感謝您的答覆。我可以通過MSUTIL.LoqQuery在打開時讀取該文件,並將結果集返回給我的Excel SpreadSheet? – Guilherme 2011-04-21 16:13:18

+0

可能:如果你可以在記事本中打開它,那麼是的。這取決於它打開的「共享模式」。如果在沒有SHARE_DENY_READ標誌的情況下打開(它可能是),你會沒事的。另一方面,如果它被打開了'SHARE_DENY_READ',那麼沒有標準的工具就能打開它,因爲這就是標誌的含義。 – Ben 2011-04-21 16:26:00

+0

@Guilherme,如果答案有幫助,請接受它。 – Ben 2012-02-11 21:07:04