VSTO Excel SaveAs Unicode Text и конвертировать в CSV - PullRequest
0 голосов
/ 07 марта 2011

Я бы хотел сохранить свой CSV-файл в формате Unicode с помощью Excel. У меня есть некоторые не ASCII символы в моем файле CSV. Я использую метод SaveAs в приложении VSTO Add-In. Насколько я знаю, невозможно выбрать формат файла в методе SaveAs в качестве CSV и сгенерировать файл Unicode.

После многих поисков я пришел к выводу, что единственный способ получить файл Unicode с помощью метода SaveAs - это выбрать UnicodeText в качестве формата файла. Однако при этом получается файл Юникода, разделенный на TAB.

Итак, я решил сохранить файл как текст в кодировке Юникод (разделенный табуляцией), а затем прочитать файл и заменить все символы табуляции запятыми для создания моего файла CSV. Но это приводит к другой проблеме: файл по-прежнему открыт с помощью Excel и возникает ошибка «Файл используется другим процессом». Я пытался изменить файл внутри события ShutDown надстройки, события BeforeClose рабочей книги и события Disposed приложения VSTO, но ни одно из них не сработало.

Есть ли какой-либо способ внутри надстройки VSTO сообщить Excel о закрытии файла?

1 Ответ

0 голосов
/ 04 сентября 2011

Я знаю, что этот ответ немного запоздал, и вы, возможно, уже нашли ответ.Но если кто-то еще сталкивался с этим, вот возможное решение,

Вы можете использовать временный файл, чтобы сохранить как Unicode, а затем переписать оригинальный файл, заменив все вкладки запятыми, не вызывая проблемы блокировки,Затем перезагрузите оригинальный файл .csv.При перезагрузке Excel всегда устанавливает фокус на первую ячейку для текстовых файлов.Поэтому, возможно, стоит восстановить последнюю известную активную ячейку после перезагрузки.

Вы можете найти рабочее решение на http://jaimonmathew.wordpress.com/2011/08/23/excel_addin_to_work_with_unicode_csv/ с полным исходным кодом.

HTH

Jaimon

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...