Я наткнулся на любопытную проблему в C #.Я импортирую файл xlsx в программу C #, чтобы импортировать пользователей с помощью группового приглашения.Большая часть электронной таблицы находится в кандзи, однако есть один столбец с английскими (западными) значениями.
При циклическом перемещении по строкам значения кандзи добавляются к ним дополнительными символами, но английские значения отображаются нормально.
Файл Excel имеет три столбца:
Электронная таблица состоит из двух строк, вот пример:
一二三 小鳥遊 xxxx.xxxx@gmail.com
Когда я перебираю электронную таблицу в отладчике, она выглядит как
一二三イチニサン 小鳥遊コトリアソ xxxx.xxxx@gmail.com
Обратите внимание на дополнительные символы.Сначала я думал, что они были заголовками столбцов, но они не совпадают.Я не читаю кандзи, поэтому извиняюсь, если упускаю что-то очевидное.
C #
public static DataSet GetDataSetFromExcelStream(Stream excel, string fileName, bool FirstRowAsColumns)
{
DataSet worksheets = new DataSet();
string extension = Path.GetExtension(fileName).Replace(".", "");
IExcelDataReader excelReader = null;
ExcelFormat ext = ExcelFormat.xls;
if (Enum.TryParse<ExcelFormat>(extension, out ext))
{
switch (ext)
{
case ExcelFormat.xls:
excelReader = ExcelReaderFactory.CreateBinaryReader(excel);
break;
case ExcelFormat.xlsx:
excelReader = ExcelReaderFactory.CreateOpenXmlReader(excel);
break;
}
excelReader.IsFirstRowAsColumnNames = FirstRowAsColumns;
worksheets = excelReader.AsDataSet();
}
return worksheets;
}