C# 有没有办法指定SpreadsheetGear中用于生成CSV文件的编码?

C# 有没有办法指定SpreadsheetGear中用于生成CSV文件的编码?,c#,csv,unicode,utf-8,spreadsheetgear,C#,Csv,Unicode,Utf 8,Spreadsheetgear,我正在尝试使用电子表格Gear将包含Unicode字符的数据从我们的系统导出为csv格式。(excel很好) 但是,由于CSV格式不是UTF-8编码的,所以所有Unicode字符都导出为 我知道电子表格Gear通过使用制表符分隔的UTF-8文本文件支持Unicode,但是我们需要逗号分隔的文件 这就是当前存在的情况(包括我检查Unicode文本文件格式是否正确导出字符): publicstaticvoidexporttostream(流、IDataSource数据、IEnumerable列、Ex

我正在尝试使用电子表格Gear将包含Unicode字符的数据从我们的系统导出为csv格式。(excel很好)

但是,由于CSV格式不是UTF-8编码的,所以所有Unicode字符都导出为

我知道电子表格Gear通过使用制表符分隔的UTF-8文本文件支持Unicode,但是我们需要逗号分隔的文件

这就是当前存在的情况(包括我检查Unicode文本文件格式是否正确导出字符):

publicstaticvoidexporttostream(流、IDataSource数据、IEnumerable列、ExportFormat)
{
var exporter=新的ExportCreator
{
数据=数据,
Columns=Columns.ToArray(),
EscapeFormulas=format==ExportFormat.Xlsx
};
var workbook=exporter.GetWorkBookForExport();
开关(格式)
{
//需要在此处添加一些内容,以便将csv编码为utf-8-
//目前电子表格齿轮仅支持utf-8编码的制表符分隔文本文件
案例导出格式.Csv:
工作簿.SaveToStream(流,文件格式.Unicodext);
打破
案例导出格式.Xlsx:
SaveToStream(stream,FileFormat.OpenXMLWorkbook);
打破
}
}
据我所知,从电子表格齿轮文档等,UnicodeText格式可以解决这个问题,但不符合我们对CSV文件格式的要求


是否有办法指定流的编码,以便将CSV文件格式保存为UTF-8编码?

SpreadsheetGear不提供指定CSV文件编码的选项,也不提供指定给定基于文本的数据文件使用的分隔符的选项。如果您有一个使用UTF编码的CSV,您需要构建自己的例程来相应地读取和处理此文件,然后将该数据逐个单元格手动插入工作表。

我怀疑是这样(但希望不是这样),感谢您的澄清。如果将来会支持UTF-8 CSV文件格式,有什么想法吗?我们会接受这样的请求(我为SpreadsheetGear工作),尽管我无法提供这一特定功能何时实现的时间表。欢迎您通过以下地址与我们联系:support@spreadsheetgear.com使用此功能请求项,以便我可以将您添加到列表中。那样的话,如果我们真的实施了,我们一定会让你知道的。
public static void ExportToStream(Stream stream, IDataSource data, IEnumerable<ColumnInfo> columns, ExportFormat format)
    {
        var exporter = new ExportCreator
        {
            Data = data,
            Columns = columns.ToArray(),
            EscapeFormulas = format == ExportFormat.Xlsx
        };
        var workbook = exporter.GetWorkBookForExport();
        switch (format)
        {
            //need to put something in here to enable the csv to be encoded as utf-8 - 
            //currently spreadsheet gear only supports utf-8 encoded tab delimited text file
            case ExportFormat.Csv:
                workbook.SaveToStream(stream, FileFormat.UnicodeText);
                break;
            case ExportFormat.Xlsx:
                workbook.SaveToStream(stream, FileFormat.OpenXMLWorkbook);
                break;
        }
    }