我下载了一个带有扩展名的文件.xls
。我以为这是一个普通的 Excel 电子表格文件,所以我使用 Excel 2007 打开了它。
但是,它告诉我,我尝试打开的文件格式与扩展名指定的格式不同。
我忽略了警告并打开了它,它打开得很好。看起来就像任何其他电子表格一样。我在常规文本编辑器中打开了该文件,它是一个使用一些自定义 XML 命名空间的 HTML 文件
<html xmlns:o='urn:schemas-microsoft-com:office:office'
xmlns:x='urn:schemas-microsoft-com:office:excel'
xmlns='http://www.w3.org/TR/REC-html40'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1252'/>
<meta name='ProgId' content='Excel.Sheet'/>
<meta name='Generator' content='Microsoft Excel 11'/>
<link rel='File-List' href='Book1_files/filelist.xml'/>
<link rel='Edit-Time-Data' href='Book1_files/editdata.mso'/>
<link rel='OLE-Object-Data' href='Book1_files/oledata.mso'/>
我查了一下那是什么,然后发现了这些
http://www.c-sharpcorner.com/UploadFile/kaushikborah28/79Nick08302007171404PM/79Nick.aspx http://www.glump.net/howto/web/serve-html-as-an-excel-file-from-a-web-application
由于这类文件很容易生成,因此似乎被称为“动态 excel 文件”。
无论如何,我想知道是否有一种正确的方法来命名文件,以便 Excel 不会抱怨文件格式与文件扩展名不同?
答案1
该文件是 .xlsx 文件,这是 Excel 2007 及更高版本的标准格式,已通过 xml 格式验证。该文件的扩展名为 .xls,这是 Excel 2003 及更早版本的扩展名。因此出现文件扩展名与文件格式不匹配的错误。
“动态” Excel 文件实际上没有任何意义。如果该文件是由某个第三方程序创建的,那么程序员一定没有使用正确的文件格式扩展名。