Другие языки программирования и технологии
На чём лучше написать конвертер doc/x, xls/x в любой формат? Смотрю в сторону C#?
На том языке, который ты лучше знаешь и выберешь для этой задачи. На любом языке можно написать. Тебе писать, ты и выбирай.
Тут есть 3 подхода.
1. Ты используешь COM/ActiveX. В этом случае надо брать язык, который его поддерживает, выбор за тобой. Учитывай, что в этом случае твоя программа будет работать только при установленном MS Office, что делает необходимость в ней крайне неочевидной - MS Office и сам умеет конвертировать много что много куда.
2. Ты пишешь свой парсер. Тогда выбор языка совершенно не критичен - все равно тебе жизни не хватит, чтобы написать полноценный парсер. Помниццо, лет 20 назад мне что-то подобное понадобилось и я скачал PDF со спецификацией файлов MS Excel - там было что-то вроде полутора тысяч страниц. Думаю, с тех пор их меньше не стало.
3. Ты используешь парсеры из Open Office или подобных проектов - тогда тебе лучше всего писать на языке, на котором написаны эти проекты.
1. Ты используешь COM/ActiveX. В этом случае надо брать язык, который его поддерживает, выбор за тобой. Учитывай, что в этом случае твоя программа будет работать только при установленном MS Office, что делает необходимость в ней крайне неочевидной - MS Office и сам умеет конвертировать много что много куда.
2. Ты пишешь свой парсер. Тогда выбор языка совершенно не критичен - все равно тебе жизни не хватит, чтобы написать полноценный парсер. Помниццо, лет 20 назад мне что-то подобное понадобилось и я скачал PDF со спецификацией файлов MS Excel - там было что-то вроде полутора тысяч страниц. Думаю, с тех пор их меньше не стало.
3. Ты используешь парсеры из Open Office или подобных проектов - тогда тебе лучше всего писать на языке, на котором написаны эти проекты.
На с# Много приблуд и документации Для работы с этими форматами. Используй этот инструмент 100%
А если вырубить .NET, на чём тогда будешь писать?)))
На любом. Хотя работа с технологиями активХ или сом не стоят особого внимания чтоб тратить время на их освоение и использование, так как узконаправленны и врятли эти знания пригодятся в будущем.
не факт, что стоит это делать с помощью автоматизации MS Office как предлагают выше.
да, она максимально поддерживает эти форматы, но имеет плохое быстродействие. у сторонних библиотек лучше. 10000 ячеек будешь заполнять долго.
если все-таки MS Office, то варианты:
1. внешнее приложение на C#
2. макрос для офиса на VBA
3. надстройка для офиса на C# (это профи-вариант)
рекомендация по быстродействию: подбирать уровень вложенности документа, с которым работаешь.
в word например лучше пройтись по абзацам, а в каждом абзаце по всем словам, чем просто по всем словам файла. видимо там слова в связном списке (хотя и выглядит как массив) и потому доступ к 100500-му слову в файле слишком долгий. а по абзацам - у каждого абзаца свой список.
в excel было бы лучше не по всем ячейкам идти, а тоже как-то группировать их по диапазонам (если это возможно) или вообще вызвать стандартную функцию, которая одним вызовом заполнит много ячеек, чтобы сэкономить на передаче данных при вызовах.
а если библиотеки, то лучше всего ситуация с ними у c# и java. такие библиотеки как NPOI и Apache POI, а также множество платных
да, она максимально поддерживает эти форматы, но имеет плохое быстродействие. у сторонних библиотек лучше. 10000 ячеек будешь заполнять долго.
если все-таки MS Office, то варианты:
1. внешнее приложение на C#
2. макрос для офиса на VBA
3. надстройка для офиса на C# (это профи-вариант)
рекомендация по быстродействию: подбирать уровень вложенности документа, с которым работаешь.
в word например лучше пройтись по абзацам, а в каждом абзаце по всем словам, чем просто по всем словам файла. видимо там слова в связном списке (хотя и выглядит как массив) и потому доступ к 100500-му слову в файле слишком долгий. а по абзацам - у каждого абзаца свой список.
в excel было бы лучше не по всем ячейкам идти, а тоже как-то группировать их по диапазонам (если это возможно) или вообще вызвать стандартную функцию, которая одним вызовом заполнит много ячеек, чтобы сэкономить на передаче данных при вызовах.
а если библиотеки, то лучше всего ситуация с ними у c# и java. такие библиотеки как NPOI и Apache POI, а также множество платных
Похожие вопросы
- Посоветуйте видеоконвектор, что б была возможность кодирование в любой формат и любым розширением!
- C#. ++x или x++ В чем разница при записи инкремента этими двумя способами?
- C++. В операторе switch нельзя разве использовать case x? а x пробежать в цикле for?
- Помогите!! ! Как переделать любой формат видео в avi ???
- помогите решить на паскале 3. Вычислить значение функции tg(x)/x2 на интервале от *-5, 5] c шагом h = 0.1.
- PascalABC График постоить график x-3/x+7
- Уравнение a*x+b*y=c
- срочно помогите написать программу на ассемблере вычисляющую R. R=x2+y2, где x=a+b-c, y=b*c-a. a,b,c вводятся с клавы
- C++.Обычная задача : найти кол-во пар (x,y) , удовлетворяющих условию X^2+Y^2<N. Помогите оптимизировать.
- помогите конвертировать небольшой документ из формата odt в формат doc вышлю на ваш майл пожалуйста буду очень благодар
Что формат сложный, с этим я согласен, но не обязательно конвертировать все составляющие документа.