VB.NET Экспорт в Excel со строковыми данными, не заключенными в кавычки - PullRequest
3 голосов
/ 29 января 2011

Существует ли формат текстового файла Excel (XlFileFormat) для экспорта, который не ставит кавычки вокруг строк?Я пробовал xlTextWindows.Может быть, есть дополнительная настройка, которую я пропускаю?

В большинстве случаев экспортируемые мной наборы данных находятся в CSV, но у меня есть ситуация, когда я все еще хочу экспортировать с типом Excel (длинная история) но на самом деле это просто маленький кусочек текста.В противном случае я бы просто экспортировал в текстовый файл;пытаясь избежать этого для этого одного случая.

[Edit] В этом случае у меня есть книга Excel с одной рабочей таблицей, с одной ячейкой (без заголовка) с текстом:

[Отчеты]

При сохранении текстовый файл содержит:

"[Отчеты]"

потому что это текстовое поле, и именно это делает Excel, когда сохраняет его в текстовый файл.

Для этой цели оно не может содержать окружающие кавычки или любые другие символы.

Я, вероятно, в итоге буду использовать FileStream и StreamWriter, но хотел бы посмотреть, можно ли этого избежать.

[Дополнительное редактирование]

Что делает приложение:

Он перебирает строки таблицы данных и помещает значение для каждого столбца в ячейку листа книги Excel.

Это прекрасно работает, если вы хотите, чтобы это был файл Excel или CSV.файл.У меня есть экземпляр, где мне нужно сохранить текст отдельной ячейки в текстовый файл, Excel настаивает на заключении текста в кавычки.Я не знаю ни о ком другом, но когда я что-то сохраняю в Блокноте, я не добавляю кавычки.Приложение, которое хочет прочитать этот файл, также не любит текст, заключенный в кавычки.Нет необходимости избегать кавычек, если они «оказываются» в куске текста, но их никогда не следует добавлять.Ничего не должно быть добавлено.Это должен быть просто блок текста в том же формате, что и в Datatable.

Сохраните книгу Excel, используя

ExcelWorkbook.SaveAs

Ответы [ 3 ]

1 голос
/ 01 февраля 2011

Вы пробовали текст (с разделителями табуляции): enter image description here

0 голосов
/ 20 декабря 2017

Не пробовал, но может помочь

Что делать, если вы попробуете это за несколько уродливых шагов ..

  • Сохранить данные как CSV - напрямую к тексту с разделителями-запятыми, без кавычек (по мере необходимости. Используйте расширения CSV)
  • Загрузка CSV в Excel через код
  • Сохраните файл в формате Excel XLS (S) с помощью кода

Тогда можно пропустить добавление кавычек к тексту в ячейках в файле XLS (S), который он сохранил.

0 голосов
/ 31 января 2011

Взгляните на SpreadsheetML.У меня есть пример здесь:
Создание файла Excel в ASP.NET

Это XML, поэтому вы можете использовать раздел CDATA, чтобы избежать необходимости заменять кавычки на " сущность.

...