2011-05-17 126 views
1

我有一個網站(PHP)與以下內容生成一個CSV文件(文本/ CSV):OpenOffice Calc無法讀取簡單的CSV文件。爲什麼?

 
ID;E-Mail_User;Name;Applikation;Rolle;Auftragsdatum;Administrator 
522;[email protected];WXDUILAS;ABCD;XYZ;2009-03-04 05:00:09;[email protected] 

當我選擇OpenOffice的,只顯示一個空的電子數據表顯示的CSV文件。沒有錯誤顯示。當我嘗試用oocalc test.csv打開文件時,發生同樣的情況。我嘗試過不同版本的OpenOffice。

該文件有什麼問題?我如何從OpenOffice獲得錯誤消息?

更新: 它與使用分號沒有任何關係。我已經將文件減少到4個字符。內容爲ID;A的文件將打開CSV導入對話框。但是一個ID;E打開一個空白表。爲什麼?

更新2: 模式id;E也適用。 ID;E必須是某種魔術碼。有人知道這個意思嗎?

+1

它與分號有關 - 只包含ID的文件,E導致導入對話框打開。正如馬特所說,無論你喜歡它還是不喜歡,CSV都以逗號分隔。 – 2011-05-17 14:45:25

+0

問題是爲什麼'ID; A'起作用,'ID; E'不起作用。 – ceving 2011-05-17 14:54:41

+0

ooffice中的錯誤?無論如何,答案是要生成正確的CSV。 – 2011-05-17 14:58:23

回答

7

ID;在文件的前3個字符中是SYLK文件的簽名。第四個字符可以是P,N或E,它們標記關於如何處理文件的其餘部分的某些信息......所以當讀取初始簽名時,您的「CSV」文件幾乎肯定會被解析爲SYLK文件,並且該文件的其餘部分不是有效的SYLK格式。

+0

Excel表現出相同的行爲。 https://support.microsoft.com/en-us/help/323626/-sylk-file-format-is-not-valid-error-message-when-you-open-file - 「SYLK文件是文本文件以「ID」或「ID_xxxx」開頭,其中xxxx是文本字符串SYLK文件的第一條記錄是ID_Number記錄當Excel在文本文件的開頭標識該文本時,它將該文件解釋爲SYLK文件「。 - 即使將第一列標題調整爲「id」也能解決問題。 – Vagari 2017-05-31 12:41:15

1

CSV意味着Ç OMMA 小號 eparated V alues,這是不是你的文檔中包含。

這些是分號。

如果可能的話,改變PHP代碼,而不是生成的(這是實際上 CSV):

ID,E-Mail_User,Name,Applikation,Rolle,Auftragsdatum,Administrator 
522,[email protected],WXDUILAS,ABCD,XYZ,2009-03-04 05:00:09,[email protected] 

...或使用Text Import對話框中指定;作爲分隔符。

+0

你看過這篇文章嗎?特別是分號的例子? – ceving 2011-05-17 14:16:52

+0

您也可以在Calc中手動指定分隔符。 – 2011-05-17 14:18:56

+0

如果瀏覽器啓動oocalc,它似乎不可能。 – ceving 2011-05-17 14:22:39

0

在ID之後添加空格(即「ID」)。

不完美的解決方案,但爲我工作。

相關問題