Excel CSV import returns an SYLK file format error

The Problem:

Trying to open CSV file that my app had generated kept causing the following message to appear in Excel:

Excel has detected that ‘balhblah.csv’ is an SYLK file, but cannot load it. Either the file has error or it is not a SYLK file format. Click OK to try to open the file in a different format’ , you may also get the message SYLK: File format is not valid

The solution:

After many hours of pulling my hair out trying to work it out I discovered that if you make the first letters “ID” of a text file Excel incorrectly assumes you are trying to open an SYLK file (whatever one of those is!).

Hope that helps!

PS Microsoft have a page on this now… http://support2.microsoft.com/kb/323626

283 thoughts on “Excel CSV import returns an SYLK file format error

  1. I ran into this problem when creating a CSV file with the requirement that columns 1-2 of the first record – representing the first cell of the spreadsheet must contain uppercase “ID”.

    I kept getting “Unable to load SYLK file…” Ichanged that to “Id” – but that was not acceptable to the program into which this file was input.

    For the moment I have got around it by setting up the field as “ ID “ and seeing whther the next program is rigidly expecting :ID” in cols 1-2, or is it a “free-format field which allows for “ID” as floating characters.

    One can only hope and pray!!!

  2. Thank you Alun for sharring this info – it has saved me pulling my hair and spending many hours to figure this out….

    Thank you and bless you for sharring this info.

  3. The way to fix this for a programmer is to put the apostrophe character (’) as the first character of the CSV file. Then when Excel opens it, it won’t say, “Error: its a SYLK file gone bad”.

  4. refering to #5 above, the solution is not for the programmer or enyone else in the world to avoid using the characters ID in a CSV header. The solution is for Microsoft the remove such a stupid hard-coded logic.

    1. Still not fixed as of today. Just ran into this exporting to Excel from a sql proc…a random piece of dumb luck I named the files starting with “ID”.

  5. i cant save excel file in .csv format error you cant save multiple sheet in format
    how to save
    plz reply me.
    i cant save excel file in .csv format error you cant save multiple sheet in format
    how to save
    plz reply me.

  6. Hi Khandu

    You can’t save a multi-sheet excel file as a CSV because csv’s don’t support multiple pages. Simply save each worksheet as a desperate CSV and name them in a sensible way for the other person to import e.g. mydata_sheet1.csv, mydata_sheet2.csv and so on

    Good luck!


  7. This didn’t help me for my requirements…

    What did help was this:
    —Save file as a .csv and close it.
    —Right click on the .csv file and Open with>Notepad
    —Go to File>Save As
    —Under Ecoding: select UTF-8
    —Click Save

  8. received the error message during import of a custom csv file about 3 minutes ago.
    googled it and this article resolved it in less than 60 secs.

  9. And there was me thinking it was my programming skills that sucked. Microsoft, as usual. Pfft. Suckers.

    On a serious note, thanks for the tip. I dread to think how many circles I would have went round if I didn’t discover it.

    1. We had to change from upper to lowercase to when saving from xlsx to csv. Other wise we would get the error.

  10. You saved my day. Lot of thanks. I have a csv file that has a column with header=“ID”. It was giving me SYLK error. But once I changed it to “Id”, it worked like magic.

  11. Just ran into this problem. I have cell A1 of each of my CSV files as “ID”. Would’ve never figured this out on my own. Glad this post is still available here after so many years. Thank you so much for sharing. Cheers!

  12. It’s the “The file you are trying to open, ‘x.csv’ is in a different format than specified by the extension…” that gets me.

    Thanks for preventing me going blind looking for obscure and non-existent unprintable characters…

  13. Wow. I never would have guessed that was the issue. I changed the first cell from “ID” to “dbID” and now the error is gone. lol


  14. Thanks for taking away the pain – wish I’d checked your site YEARS ago. My previous solution was opening in Open Office then saving as .xls LOL

  15. Thank you so much for that info! Even though I have spent a few hours pulling my hair – I would never have arrived at that conclusion without your input.

  16. Thanks a bunch!

    This still occurs in Microsoft Office Professional Plus 2010 (version 14.0.7173.5000), although Microsoft doesn’t admit it on their KB support page.

  17. Thanks – your post came up in a google and most helpful. I am in the process of moving to Softmaker Office 2016 having previously used MS Office 2003. When moving back and forth I hit this problem and assumed incorrectly it was Softmaker trouble. Yes my database has ID for the first field (column) and hits this problem.

  18. thank you !!!!!!!!!!!!!!!!!!!!!!!!!!
    thank you !!!!!!!!!!!!!!!!!!!!!!!!!!
    thank you !!!!!!!!!!!!!!!!!!!!!!!!!!
    thank you !!!!!!!!!!!!!!!!!!!!!!!!!!
    you are the best

  19. This article is now 5 years old and it’s still helping! Amazed MS haven’t fixed it but the occasional gift from my Amazon gift list and a few affiliate fees for adverts cover off the over 1200 visitors per month just to read this article!

  20. Thank you for sharing this. I was so confused by the error and would have spend countless hours on the same issue!

  21. I solved this issue with:
    Application.DisplayAlerts = False
    Workbooks.Open Filename:=path, Local:=True
    Application.DisplayAlerts = True

    Where ‘path’ is a string variable with the path where the file is.
    Obviously this is a VBA solution.

    I hope this help you.

  22. Priceless information! This thread will live on as you keep saving lives out there in MS World. Thank you!!!!

  23. What a random error, but it also just happened to me !
    Is there anything we can do about it ?
    My CSV file needs to have “ID” as the first element.
    There is no way around it.

    1. Why do you need ID as the first field? If you are outputting to Excel then you can choose anything as your output format. If you need to then send it on from there it you could then rename it once it is in the system or output it using a macro which renames the first column.

      Alternatively make ID the last column? most imports should sort it out for you?

  24. This is still helping as of February 15, 2018 – four years later. Microsoft has disabled the solution page listed above. Users now get the Microsoft version of the 404 File Not Found error, so can anyone explain WHY Excel does this? Or has anyone found the new link to Microsoft’s explanation?

  25. Come on MS! This is a tiny task to fix – do it now!
    Far too much monkey see, monkey do. Too clever by half! Are you aware that many people import csv files where the first cell contains ID? And they want them to be csv, nothing else.

  26. This is pathetic. Thanks to OP. Pulling my hair out trying to analyze data for my master’s thesis. I don’t have words for how angry I am at Microsoft right now.

    Still helping.

  27. I found another option.no need to change the column heading order title. Just open a new excel and than open the file which you would like to open (SYLK format file), it will open this time.
    Hope this works for you guys as well.

  28. 18th April 2018…
    Still helping!!!
    Thanks a ton, Alun!!
    Just a feedback that I am not able to open MS link given though.

  29. I mean. Just wow Microsoft. Because no one ever wants the first column of their CSV file to be “ID” do they?

  30. Thanks for this so many years later!

    I am quite certain that I told Excel that I was looking for text files (not slky or skly or ksly or Excel or any other type of file). Yes, I chose from a selection that Excel presented me with. I knew I wanted txt files… I chose a text file… even had a .txt extenstion… I told Excel this after it asked me… and wha??? It wants to tell me it’s a slksdksyr file?

    How awful.

    If Microsoft has any hand in building the AI that is suppose to rule the world one day, at least we now know we can just write “ID” on the bullets we shoot at the droids that come to farm us. They will have no defense.

  31. NEWEST issue: what if the file already was saved and I am trying to open it when I get this SYLK error?
    I can’t get to the data to view it and fix it 🙁

  32. September 2018 …. still helping

    I edited the csv in Notepad and changed the header row to have double quotes around all the headings, and it fixed the issue for my file. The quotes are not displayed when loaded in Excel and no warnings. Winning!

    1. Yep, that’s another great way to fix the issue. Adding quotes means it’s just treated as a string and no preprocessing takes place. But like when people give you datasets with columns that have names with sql keywords like Select, from, where etc

  33. Can someone try to OPEN A SECOND TIME the file, after Excel gives you errors and opens a blank file ?
    Just, keep the file (excel) open and double clic the file again. What happens there ?

    Pierre C.


  34. Thank you for everyone who honed into the issue being first cell cannot have text starting with “ID”. cheers folks.

  35. This saved me. Fortunately, in my case, the use of “ID” as the first two characters in the CSV file was not a rigid requirement; I was able to change it a bit to get around the problem. But I’d have never known what the problem was without this post.

  36. Unbelievably helpful. All I had to so was place a Response.Write(“‘”); at the beginning of the file. Thanks so much!

  37. I’ve copied Dave Khan’s Reply above as its a simple case of “Same Here”!

    This saved me. Fortunately, in my case, the use of “ID” as the first two characters in the CSV file was not a rigid requirement; I was able to change it a bit to get around the problem. But I’d have never known what the problem was without this post.

    Many Many Thanks for posting the solution

  38. STILL helping June 1, 2019! For real!

    Also the knowledge base link referenced seems to now be broken :(. Thanks, Microsoft!

  39. This is freaking insane! WTF is wrong with M$? This problem is so 1980’s. Thanks so much for the solution!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.