УС
Участник сообщества #12
10 янв. 2025 г., 13:30(изменён)
Решено
0
0

Проблема с шириной колонок в Excel

Из чата сообщества

Всем привет, а никто не сталкивался с таким, что при генерации excel через aspose не удается задать ширину колонки? Она всегда растягивается по самой длинной строке в столбце.

Пробовал двумя способами:

  1. Создавать html таблицу и "грузить" её в excel с помощью LoadHtmlString(). Ширина ячейки прописывается в html разметке.
  2. Пробовал и нативным образом собирать таблицу, через обращение к ячейкам. В этом случае ширину задавал через oWorksheet.Cells.SetColumnWidth()

Но результат один и тот же.

С
Система10 янв. 2025 г., 22:10(изменён)
Решение

Все таки и делал. Но если вставить в этой колонке ниже ячейку с длинной строкой, ее все равно разносит. Но проверю еще. Спасибо

С
Система10 янв. 2025 г., 13:37(изменён)

Как вариант, можно сохранить в ресурсах шаблон с нужными ширинами колонок и уже на основе его открывать эксел файл для формирования отчета

С
Система10 янв. 2025 г., 13:40(изменён)

Геморно. На каждый отчет делать такой файл, еще и синхронизировать изменения.

Просто по логике должно бы работать. Cells.SetColumnWidth() используется в коробочном коде.

С
Система10 янв. 2025 г., 19:12(изменён)
  var xls = "Websoft.Office.Excel.Document"
  var excel = new ActiveXObject(xls)
  excel.CreateWorkBook()

  var worksheet = excel.GetWorksheet(0)
  worksheet.Cells.SetColumnWidth(1, 50)
  
  var file = "\\\\server\\folder\\test.xlsx"
  excel.SaveAs(file)
  excel.Close()
Чтобы ответить, необходимо войти в систему