Есть ли что-нибудь, что мы можем сделать либо в коде (ASP/JavaScript), либо в Excel, поэтому что значения, разделенные запятыми, заканчиваются отдельными столбцами в Excel?Экспорт файла Unicode CSV (разделенный запятой) в Excel 2003 или Excel 2007 приводит к тому, что все столбцы заканчиваются в первом столбце в Excel
ответ
Если вы откроете файл через меню «Файл -> Открыть» в Excel, он будет разделять значения в ячейках.
Различные локализации Excel могут использовать разные символы для разделения столбцов. Попробуйте использовать «;» вместо «,», чтобы узнать, помогает ли это.
Как отметил Чей, локализация или изменения в вариантах Excel (символ разделителя списков) может привести к неправильному поведению.
Я рекомендую использовать Open XML для более безопасного вывода.
Заканчивать Generating an Excel file in ASP.NET
когда он импортируется, вы можете пойти в меню «Инструменты» -> «Текст по столбцам ...» меню и указать, ограничивающий характер.
Знаете ли вы, имеет ли файл CSV заголовок марки байтов? Возможно, у него нет спецификации или ее неправильной спецификации для локали.
Вы можете попробовать сохранить файл как .txt, не .csv, это заставляет Excel для разбора текстовых строк в столбцы
Если вы используете «» Excel 2007 будет читать его, но не 2003. И если вы использовать «;», наоборот.
Итак, лучший способ - создать таблицу html и вывести ее как .xls. Excel 2007 спросит, есть ли у него надежный источник.
Вот пример кода, как это сделать:
private void ExportToXLSFromDataTable(DataTable dtExport, string filename)
{
StringBuilder dataToExport = new StringBuilder();
dataToExport.Append("<table>");
dataToExport.Append("<tr>");
foreach (DataColumn dCol in dtExport.Columns)
{
dataToExport.Append("<td>");
dataToExport.Append(Server.HtmlEncode(dCol.ColumnName));
dataToExport.Append("</td>");
}
dataToExport.Append("</tr>");
foreach (DataRow dRow in dtExport.Rows)
{
dataToExport.Append("<tr>");
foreach (object obj in dRow.ItemArray)
{
dataToExport.Append("<td>");
dataToExport.Append(Server.HtmlEncode(obj.ToString()));
dataToExport.Append("</td>");
}
dataToExport.Append("</tr>");
}
dataToExport.Append("</table>");
if (!string.IsNullOrEmpty(dataToExport.ToString()))
{
Response.Clear();
HttpContext.Current.Response.ContentType = "application/ms-excel";
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + filename);
HttpContext.Current.Response.Write(dataToExport.ToString());
HttpContext.Current.Response.End();
}
}
Excel, кажется, запутаться знаков UTF-16/UTF-8 байт порядка, так что постарайтесь избавиться от них.
С CSV содержимое ячеек может быть символом Юникода, но символы разделителя, цитаты и новой строки всегда должны быть ASCII. Вы можете думать о CSV, как всегда, ASCII, но каждая ячейка является блоком двоичного кода и может представлять собой некоторый текст в Юникоде.
Кроме того, взгляните на: http://www.creativyst.com/Doc/Articles/CSV/CSV01.htm для получения дополнительной информации.
Я просто попытался с помощью Tab символов для поля вместо сепаратора обеспечивают запятые, и она работала в Excel 2007
(по крайней мере, я думаю, что это 2007, не может найти Помощь/О в глупом ленте)
- 1. Экспорт CSV-файла в Excel 2007
- 2. Преобразование Excel 2007 VBA в Excel 2003
- 3. Экспорт CSV-файла с SQLCMD или BCP, полные столбцы Excel
- 4. Экспорт в excel или csv
- 5. Экспорт GridView в Excel 2007
- 6. phpmyadmin экспорт CSV в Excel данные
- 7. Экспорт excel в csv
- 8. Convert excel 2007 to excel 2003
- 9. Экспорт файла Excel 2003 из MVC3
- 10. Запись VBA в Excel 2007 для использования в Excel 2003
- 11. Экспорт mySQL в excel или csv
- 12. Программно конвертировать файлы Excel 2003 в 2007+
- 13. Экспорт Excel Excel не признан офисом 2007
- 14. Как автоматизировать экспорт из Access 2007 в Excel 2003
- 15. Экспорт отчета SSRS 2005 в Excel 2007
- 16. Запись строк unicode в Excel 2007
- 17. Экспорт данных в Excel
- 18. Экспорт данных Excel в файл CSV, используя имя файла Excel
- 19. Экспорт CSV для Excel
- 20. Файл-писатель Excel 2007 в C# приводит к поврежденному файлу
- 21. C# Преобразование Excel 2007 (xlsx) в файл Excel 2003 (xls)
- 22. Экспорт файла SQL в Excel
- 23. Преобразование Excel 2007 в Excel 97-2003 автоматически
- 24. Экспорт TreeTable в Excel/CSV
- 25. Silverlight DataGrid: экспорт в excel или csv
- 26. Экспорт javascript или Flash в CSV/Excel
- 27. Экспорт DataGrid в CSV или Excel
- 28. Экспорт из Excel в Access 2007 с помощью Excel VBA
- 29. Экспорт gridview в Ms Excel 2007
- 30. IFERROR в Excel 2003