我有一个DataTable dt
,我想将其作为CSV文件发送给用户。现有的电子邮件工作流程涉及将文件添加到attachments
表,然后电子邮件功能将从那里提取文件。现在,我绕过了电子邮件部分,直接使用ID和一个适用于表中所有其他文件的函数(包括csv和xls)下载文件。问题是,我尝试将DataTable作为文件添加到此表中的所有内容都将作为随机Unicode字符下载。
我尝试过的事情:
System.Text.Encoding.ASCII.GetBytes(attachmentCSV)
制作byte[]
我没有通过我的搜索找到任何有用的东西,所以我不知道接下来要尝试什么。如何将DataTable作为文件(csv,xls,Excel将打开的任何电子表格格式)保存到SQL表中?理想情况下,我想要一种避免首先将文件保存到磁盘的方法。
答案 0 :(得分:1)
这个问题在于用于打开文件的软件LibreOffice。字符集设置为UTF-16而不是UTF-8。更改设置似乎可以解决问题。