bookmark .NET
От: SanyaVB  
Дата: 17.08.16 10:35
Оценка:
Необходимо заполнить программно поля документа не используя всякие интеропы Word.
Первая мысль, которая пришла в голову — это в Word-е создать документ, а те поля которые необходимо заполнить пометить как bookmark. Далее сохранить файл как XPS. а потом руководствуясь этой ссылкой можно производить авто заполнение.
Все вроде бы идеально, но не все Этот Word 2010 фигово сохраняет bookmark в XPS. Например в таблице выделяю текс и делаю закладку. в Word четко видно что закладка установлена на текс, а вот в XPS видно что закладка установлена на Path — т.е. на ячейку.
Может как то можно допилить какими то инструментами XPS документ???
Есть ли альтернативы авто заполнения документов без использования интеропов?
Re: bookmark .NET
От: Sinix  
Дата: 17.08.16 10:47
Оценка: 6 (1) +1
Здравствуйте, SanyaVB, Вы писали:

SVB>Необходимо заполнить программно поля документа не используя всякие интеропы Word.

SVB>Есть ли альтернативы авто заполнения документов без использования интеропов?
Да, конечно. Подрубаем Open-XML-SDK и Open-Xml-PowerTools, ищем примеры типа такого, копируем, разбираемся, экспериментируем.

Нечто подобное делал, будут вопросы — спрашивайте
Re: bookmark .NET
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 17.08.16 10:58
Оценка: 10 (2) +1
Здравствуйте, SanyaVB, Вы писали:

SVB>Есть ли альтернативы авто заполнения документов без использования интеропов?

Да, для формата docx есть механизм, называемый Content Controls.

Я ранее описывал на форуме этот механизм. Можете посмотреть:
Re[2]: bookmark .NET
От: SanyaVB  
Дата: 17.08.16 14:31
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, SanyaVB, Вы писали:


SVB>>Необходимо заполнить программно поля документа не используя всякие интеропы Word.

SVB>>Есть ли альтернативы авто заполнения документов без использования интеропов?
S>Да, конечно. Подрубаем Open-XML-SDK и Open-Xml-PowerTools, ищем примеры типа такого, копируем, разбираемся, экспериментируем.

S>Нечто подобное делал, будут вопросы — спрашивайте


Спасибо! Разобрался! То что надо!
Re: bookmark .NET
От: Vladek Россия Github
Дата: 17.08.16 17:14
Оценка:
Здравствуйте, SanyaVB, Вы писали:

SVB>Необходимо заполнить программно поля документа не используя всякие интеропы Word.


Есть такая библиотека: http://docx.codeplex.com/
Re[2]: bookmark .NET
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 17.08.16 18:45
Оценка: :)
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, SanyaVB, Вы писали:


SVB>>Необходимо заполнить программно поля документа не используя всякие интеропы Word.

SVB>>Есть ли альтернативы авто заполнения документов без использования интеропов?
S>Да, конечно. Подрубаем Open-XML-SDK и Open-Xml-PowerTools, ищем примеры типа такого, копируем, разбираемся, экспериментируем.

S>Нечто подобное делал, будут вопросы — спрашивайте


Сейчас хоту примеры для .Net Core. Для 1С под линукс это актуально. Ничего не нашел. Есть portable но там проблемы с FileStream. Попробую скомпилировать под NetStandart
и солнце б утром не вставало, когда бы не было меня
Re[3]: bookmark .NET
От: Sinix  
Дата: 17.08.16 19:03
Оценка: 12 (1) +1
Здравствуйте, Serginio1, Вы писали:

S> Сейчас хоту примеры для .Net Core. Для 1С под линукс это актуально. Ничего не нашел. Есть portable но там проблемы с FileStream. Попробую скомпилировать под NetStandart

Ждём https://github.com/OfficeDev/Open-XML-SDK/issues/65
Re[4]: bookmark .NET
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 18.08.16 14:55
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, Serginio1, Вы писали:


S>> Сейчас хоту примеры для .Net Core. Для 1С под линукс это актуально. Ничего не нашел. Есть portable но там проблемы с FileStream. Попробую скомпилировать под NetStandart

S>Ждём https://github.com/OfficeDev/Open-XML-SDK/issues/65

Огромное спасибо!
Скачал отсюда https://github.com/ph1ll/Open-XML-SDK/tree/netstandard
Скомпилировал под NetStandart1.6. Правда его в проектах без NuGet нельзя использовать, но через мою приблуду в 1С можно.

И еще если можно то вопрос по Roslyn и Scripting API для .Net Core будет?
и солнце б утром не вставало, когда бы не было меня
Re[5]: bookmark .NET
От: Sinix  
Дата: 18.08.16 16:36
Оценка: 8 (1)
Здравствуйте, Serginio1, Вы писали:

S> И еще если можно то вопрос по Roslyn и Scripting API для .Net Core будет?


Можно конечно, но лучше SergeyT поймать. Я активно с рослином не работаю, не до того пока.
Re[4]: bookmark .NET
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 22.08.16 11:13
Оценка: 99 (2)
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, Serginio1, Вы писали:


S>> Сейчас хоту примеры для .Net Core. Для 1С под линукс это актуально. Ничего не нашел. Есть portable но там проблемы с FileStream. Попробую скомпилировать под NetStandart

S>Ждём https://github.com/OfficeDev/Open-XML-SDK/issues/65

Спасибо! Похвастаюсь 1С,Linux,Excel,Word,OpenXML,Net Core
и солнце б утром не вставало, когда бы не было меня
Re[5]: bookmark .NET
От: Sinclair Россия https://github.com/evilguest/
Дата: 23.08.16 04:50
Оценка: 16 (1) +1 :)
Здравствуйте, Serginio1, Вы писали:
S>Спасибо! Похвастаюсь 1С,Linux,Excel,Word,OpenXML,Net Core
96 баллов за функцию ъ().
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: bookmark .NET
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 23.08.16 04:59
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Serginio1, Вы писали:

S>>Спасибо! Похвастаюсь 1С,Linux,Excel,Word,OpenXML,Net Core
S>96 баллов за функцию ъ().
Спасибо! Это я позаимствовал $ из JQuery. В планах еще использовать ы,ь и ё. Но ё часто используется для переключения клавиатуры
и солнце б утром не вставало, когда бы не было меня
Отредактировано 23.08.2016 5:02 Serginio1 . Предыдущая версия .
Re[6]: bookmark .NET
От: Sinix  
Дата: 23.08.16 06:40
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>96 баллов за функцию ъ().


Недодумана идея. У нас йуникод или где? Только CYRILLIC SMALL LETTER NEUTRAL YER , только хардкор
Re[4]: bookmark .NET
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 24.08.16 07:03
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, Serginio1, Вы писали:


S>> Сейчас хоту примеры для .Net Core. Для 1С под линукс это актуально. Ничего не нашел. Есть portable но там проблемы с FileStream. Попробую скомпилировать под NetStandart

S>Ждём https://github.com/OfficeDev/Open-XML-SDK/issues/65
Уважаемый Sinix, можно воспользоваться Вашими знаниями и задать вопрос, что бы не искать. Тема специфична.
После напиании статьи мне задали такой вопрос 1С, Linux, Excel, Word, OpenXML, Net Core

Было бы здорово если бы вы дали больше информации и по другим задачам например в Fedora!
(t-sql запросы из 1С под OS Linux, отправка почты из 1С под OS Linux).


Прошу направить на путь истинный
и солнце б утром не вставало, когда бы не было меня
Re[5]: bookmark .NET
От: Sinix  
Дата: 24.08.16 07:35
Оценка: 15 (1) :)
Здравствуйте, Serginio1, Вы писали:

S> Прошу направить на путь истинный

Ну так я ни с линуксом, ни с 1С не работаю, лучше у них на форуме и спрашивать. Могу поработать гуглом, если надо sql / почту именно из-под .net core, а не родным 1с-овским API.

Почта — MailKit.
SQL — обычный ADO.NET в урезанном виде, на сейчас нет DataTable и всего, что от него зависит, включая получение схемы. Последнее обходится так.

MS SQL из коробки, MySQL и pg — пакетами.

UPD и чего-то меня переклинило, сразу не распарсил. Какой нафиг уважаемый и прочие приседания? У нас тут форум или где? Есть вопрос — задавай, кто сможет — ответит. Но вот этого вот "Мудрая сова, помоги! Все нас едят..." и далее по тексту точно не надо
Отредактировано 24.08.2016 7:41 Sinix . Предыдущая версия .
Re[6]: bookmark .NET
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 24.08.16 08:21
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, Serginio1, Вы писали:


S>> Прошу направить на путь истинный

S>Ну так я ни с линуксом, ни с 1С не работаю, лучше у них на форуме и спрашивать. Могу поработать гуглом, если надо sql / почту именно из-под .net core, а не родным 1с-овским API.

S>Почта — MailKit.

S>SQL — обычный ADO.NET в урезанном виде, на сейчас нет DataTable и всего, что от него зависит, включая получение схемы. Последнее обходится так.

S>MS SQL из коробки, MySQL и pg — пакетами.


S>UPD и чего-то меня переклинило, сразу не распарсил. Какой нафиг уважаемый и прочие приседания? У нас тут форум или где? Есть вопрос — задавай, кто сможет — ответит. Но вот этого вот "Мудрая сова, помоги! Все нас едят..." и далее по тексту точно не надо


Спасибо большое. Просто у тебя знаний в .Net больше, чем в Гугле. По .Net Core то не так много информации и она быстро меняется.
и солнце б утром не вставало, когда бы не было меня
Re[7]: bookmark .NET
От: Sinix  
Дата: 24.08.16 08:55
Оценка: 3 (1)
Здравствуйте, Serginio1, Вы писали:

S> По .Net Core то не так много информации и она быстро меняется.

Секрет открою: 99% всех вопросов решается правильным подбором ключевых слов. Соображаешь, какие слова должны быть в ответе и ищешь именно их. Ну и не надо лениться пройти по ссылкам в ответах, дел на 5 минут обычно.
Гораздо проще, чем найти конкретную статью, которую хорошо помнишь, но не до конкретных слов — вот это проблема проблем, да.

По той же почте — mailkit светился в www.dotnetfoundation.org, осталось поискать примеры для.
По SQL — берём имя провайдера и добавляем net core linux + смотрим на время ответов. Весенние уже устарели

Для экзотики .Net лучше писать без точки, повышает вес прочих ключевиков. Не находится — меняем ключевики с учётом найденного. В примере с MySQL точно не хватает слова connection.
Re[6]: bookmark .NET
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 06.09.16 13:57
Оценка: 44 (1)
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Serginio1, Вы писали:

S>>Спасибо! Похвастаюсь 1С,Linux,Excel,Word,OpenXML,Net Core
S>96 баллов за функцию ъ().

Обещание выполнил .Net Core, 1C, динамическая компиляция, Scripting API

 var данныеЭкселя = Данные.GroupBy(ё => ё.НомСтроки).Select(ъ => new { НомСтроки = ъ.Key, Ячейки = ъ.ToArray() }).OrderBy(ь => ь.НомСтроки);
и солнце б утром не вставало, когда бы не было меня
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.