关于asp.net excel导入导出问题

我使ASP.NET后台实现将datatable导出到excel,导出后excel可以打开看到数据但是提示有问题

网上说是第一列第一行的大写ID问题,换成小写也是不行,如果把导出的xls格式换成csv格式的话打开没有错误,求大佬怎么解决

大致的意思是:

SYLK 文件时一个文本文件,开头的为“ID”或“ID_XXXX”(其中XXXX是文本字符串)。
SYLK 文件的第一个的记录是在 ID_Number 记录的。
Excel 将识别该文本在文本文件开头时, 它会将该文件解释为 SYLK 文件。
Excel 将尝试从该 SYLK 格式转换该文件,但不能这样做,因为"ID"字符后不有任何有效的 SYLK 代码。
因为 Excel 不能转换该文件,您收到错误消息。

当您打开一个文本文件、 CSV 文件和文件的前两个字符是大写字母"I","D"时,会发生此问题。
例如文本文件可能包含以下文本:
ID, STATUS 123, open 456, closed
如果前两个字母小写"i"和"d"不会发生此问题的 。

传送门:https://www.cnblogs.com/A2008A/archive/2012/06/27/2565898.html

同学,你的电脑上运行的不是excel,而是冒牌的山寨软件wps

我估计你用的所谓导出excel的代码应该是一个很经典的根本假的导出excel的方法。代码的特征是直接 Response.Write 或者 StringWriter
这代码很有欺骗性,首先,它输出的文件后缀名是 xls,windows显示的图标是excel的(你把任何文件后缀修改为 xls 它都是这个图标)
而excel本身可以兼容html或者文本文件,所以也能打开。
但是这根本就不是一个excel好吗。
真正要输出excel,应该用npoi或者aspose库。

图片说明