У меня возникла проблема при кодировании данных и экспорте данных в Excel. У меня есть данные в моей DataTable. В методе экспорта в Excel я пробовал разные способы кодирования данных, некоторые из них: " StreamWriter wr = new StreamWriter (@path, false, new UTF8Encoding (true)); " ИЛИ " StreamWriter wr = новый StreamWriter (@path, true, Encoding.UTF8); ". Он успешно закодировал данные моего DataTable, но эта строка кода объединила данные из разных столбцов в один столбец.
И если я изменю вышеприведенную строку кода как «StreamWriter wr = new StreamWriter (@path); », затем при экспорте в Excel сохраняет данные в соответствующих столбцах и строках, но затем не кодирует данные и добавляет некоторые другие символы с помощью данные. Хотя я понимаю, что, поскольку я не использую кодирование UTF8, это является причиной, а не кодированием.
Итак, пожалуйста, дайте мне лучшее решение для моей проблемы, чтобы я мог успешно кодировать символы на другом языке, а также экспортировать данные в Excel с данными, экспортируемыми в соответствующие столбцы и соответствующие строки и ячейки.
Найдите приведенный ниже фрагмент кода, который я использовал для выполнения вышеуказанной задачи:
StreamWriter wr = new StreamWriter(@path, true, Encoding.UTF8);
for (int i = 0; i < dataTable.Columns.Count; i++)
{
wr.Write(dataTable.Columns[i].ToString().ToUpper() + "\t");
}
wr.WriteLine();
for (int i = 0; i < (dataTable.Rows.Count); i++)
{
for (int j = 0; j < dataTable.Columns.Count; j++)
{
if (dataTable.Rows[i][j] != null)
{
wr.Write(Convert.ToString(dataTable.Rows[i][j]) + "\t");
}
else
{
wr.Write("\t");
}
}
wr.WriteLine();
}
wr.Close();