Генерация красивых Excel-отчётов по шаблону

Ну прекратите с такими темами, мне стыдно за себя становится :(
 
  • Спасибо
Реакции: Андрейка2020
В процессе парсинга создается таблица csv без форматирования, этот файл привязывается к таблице и оттуда уже идет формирование xls файла с форматированием.
Мне кажется где-то критическая ошибка. 40к строк это ни о чем, ни о каком часе и быть речи не может. может стоит иначе как-то организовать?
 
Мне кажется где-то критическая ошибка. 40к строк это ни о чем, ни о каком часе и быть речи не может. может стоит иначе как-то организовать?
Хотелось бы организовать попроще, но увы пока так) буду рад подсказкам
 
@LaGir помоги, пожалуйста, разобраться - у меня 43к строк переносятся примерно 1ч. Таблица привязана к файлу стандартным экшеном "Операции с таблицами - привязать к файлу", так как постоянно с новым названием. Как можно ускорить процесс?
В идеале прикрепить шаблон-пример, воспроизводящий проблему, так как пока до конца не понятно в чём дело.
В процессе парсинга создается таблица csv без форматирования, этот файл привязывается к таблице и оттуда уже идет формирование xls файла с форматированием.
Если позволяет текущая логика шаблона - в идеале переделать парсинг данных сразу в Excel-файл.
 
В идеале прикрепить шаблон-пример, воспроизводящий проблему, так как пока до конца не понятно в чём дело.
Разобрался с этими тормозами, причина была в том что база для форматирования привязывалась к csv файлу, привязал к xlsx и все заработало шустро.
 
  • Спасибо
Реакции: Mikhail B.
Статью, оценить не могу, так как мозг закипел после двух абзацев)) Но мне очень нужна помощь, кто может реализовать, как раз что бы зенка, видела таблицу со всеми листами. Кто может помочь в этом вопросе отзовитесь.
 
Статью, оценить не могу, так как мозг закипел после двух абзацев)) Но мне очень нужна помощь, кто может реализовать, как раз что бы зенка, видела таблицу со всеми листами. Кто может помочь в этом вопросе отзовитесь.
Т.е. тебе надо передавать информацию с нескольких листов в зенку?

Вроде бы тут все четко расписано, как взаимодействовать с листами и библиотекой. Если нужно что-то конкретное пиши в личку, попробую помочь или реализовать.
 
Последнее редактирование:
Т.е. тебе надо передавать информацию с нескольких листов в зенку?

Вроде бы тут все четко расписано, как взаимодействовать с листами и библиотекой. Если нужно что-то конкретное пиши в личку, попробую помочь или реализовать.
Спасибо, расписано, но я видимо очень деревянный) три дня назад зенку увидел)
Напишу в личку, как за компом буду.
 
Т.е. тебе надо передавать информацию с нескольких листов в зенку?

Вроде бы тут все четко расписано, как взаимодействовать с листами и библиотекой. Если нужно что-то конкретное пиши в личку, попробую помочь или реализовать.
Не понимаю как в личку написать. В профиле в твоём контактов тоже не нашёл. Вот мой скайп Ar4i_KRD, если есть время, может поможешь с проблемой.
 
Не понимаю как в личку написать.
В личку могут писать только пользователи со статусом клиент. Если у вас есть программа ZennoPoster, то необходимо сделать запрос в поддержку на получение статуса на форуме.
 
Последнее редактирование:
  • Спасибо
Реакции: Artur_MSK
Скомпилировал последнюю версию библиотеки EPPlus в dll, так как нужна была для работы, кому надо берите пользуйтесь.
 

Вложения

А есть ли API документация? Так и не нашёл.
 

Вложения

Можно ли с помощью этой библиотеки создать файл .xlsx? Если да, подскажите, пожалуйста, как это сделать.
 
  • Спасибо
Реакции: Fantomass
Как можно просто взять из таблицы 2 столбца (например артикул и цена) и добавить их в другую таблицу?
 
Люди добрые.
Или лыжи не едут или я чего-то не того )

Как взять столбец и данные этого столбца поместить в список?
 
Ответ.
Если брать как диапазон
То пустые ячейки смещаются.
Допустим был столбец A в котором была только первая и сотая ячейки с данными, остальные пустые.
При экспорте в список остаётся только 2 значения из 100, а 98 пустых пропускаются.

Чтобы взять все данные, даже с пустыми ячейками, лучше взять и через цикл for или foreach перебрать столбец и добавить себе в список.
 
Последнее редактирование:
Где взять dll-файл? Я так понимаю, там на гите не скомпилированная библиотека?
 
8. Отформатируем полученную табличку в более приглядный вид. Стили таблиц аналогичны тем, которые можно увидеть в Excel, только английскими названиями. «Light1» соответствует «Светлый1», «Medium1» – «Средний1», «Dark1» – «Темный1». Конкретно для первого листа я посчитал подходящим стиль «Светлый19».
C#:
Развернуть Свернуть Копировать
//Определяем диапазон области данных
ExcelRange rangeT1 = ws1.Cells[startRowT1, startColT1, table1.RowCount+startRowT1-1, table1.ColCount+startColT1-1];
//Определяем этот диапазон как таблицу
ExcelTable tableT1 = ws1.Tables.Add(rangeT1, ws1.Name.Replace(" ",String.Empty));
//Задаём стиль таблицы. Стили аналогичны стилям в Excel, только названия на английском
tableT1.TableStyle = TableStyles.Light19;
//Отключаем заголовки и фильтр, в нашем случае они не нужны
tableT1.ShowFilter = false;
tableT1.ShowHeader = false;
9. Переходим ко второму листу. По аналогии вставляем в него данные из второй таблицы.

Кто делал красивости в excel?

Делаю как в этом коде, всё ок, но если нужно добавить данные в файл, то новые данные не форматируются.

Пробовал удалять tableT1 и создавать его с новым диапазоном, но файл открывается как битый, и форматирование всё равно не распространяется на новые строки.

Есть ли возможность задать стиль на весь документ?
Или как поступать с новыми данными?

upd. Я имею в виду вот это TableStyles.Light19
 
Делаю как в этом коде, всё ок, но если нужно добавить данные в файл, то новые данные не форматируются.
Используете Excel?
У меня были проблемы, когда использовал LibreOffice. Моё сообщение:
Таблицы созданные в LibreOffice не работают, хоть и сохраняются с расширением .xlsx. Даже если банально открыть таблицу Template.xlsx из архива в первом посте и пересохранить, то всё перестает работать.
Используйте Excel или другие таблицы.

Потратил часа три разбираясь, буду рад если сэкономлю кому-то время. :-)
 
с не
У меня были проблемы, когда использовал LibreOffice
С недавних пор юзаю бесплатный WPS Office - практически полный аналог продуктов MS, а главное - абсолютная совместимость и чистая совесть!
 
с не

С недавних пор юзаю бесплатный WPS Office - практически полный аналог продуктов MS, а главное - абсолютная совместимость и чистая совесть!
Попробуйте excel тогда. Возможно, ваша проблема решится.
 
  • Спасибо
Реакции: Андрейка2020
Доброго времени суток. Подскажите, а можно заставить фильтр нормально работать после преобразования?
3.png
 
  • Спасибо
Реакции: che100
Есть ли способ записать в ячейку с помощью зеннопостера и этой либы (или хоть как) отформатированный текст, переменную с жирным выделением, или подчеркиванием?
 
Есть ли способ записать в ячейку с помощью зеннопостера и этой либы (или хоть как) отформатированный текст, переменную с жирным выделением, или подчеркиванием?

Что-то типа вот так
C#:
Развернуть Свернуть Копировать
var cells = sheet.Cells[1, 1, 5, 5];
cells.Style.Font.SetFromFont(new Font("Times New Roman", 12));
cells.Style.Font.Bold = true;
cells.Style.Font.Italic = true;
 
  • Спасибо
Реакции: artur23 и bad robot
@LaGir или кто в теме, подскажите пожалуйста:
при парсинге цен из магазина во внутренние таблицы проекта вид цен такой 144.56
Как при записи в excel через библиотеку EPPlus переделать в формат 144,56?
Или отрезать копейки, оставив 144?
Или нужно преобразовывать на моменте складывания в переменную спаршенных данных?
 

Вложения

  • Снимок 4.JPG
    Снимок 4.JPG
    21,1 KB · Просмотры: 213
Последнее редактирование:
@LaGir или кто в теме, подскажите пожалуйста:
при парсинге цен из магазина во внутренние таблицы проекта вид цен такой 144.56
Как при записи в excel через библиотеку EPPlus переделать в формат 144,56?
Или отрезать копейки, оставив 144?
Или нужно преобразовывать на моменте складывания в переменную спаршенных данных?
Отображение "." или "," зависит от ваших региональных настроек OS.

Смотрите в сторону
C#:
Развернуть Свернуть Копировать
System.Threading.Thread.CurrentThread.CurrentCulture

Или сохраняйте как строку, предварительно заменив stringVariable.Replace(".", ",")
 
  • Спасибо
Реакции: ParadoxRU

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)