Как создать файл Excel с помощью EPPlus для бумаги формата A4

Мой текущий проект использует EPPlus для создания файлов Excel. Эти файлы печатаются пользователем, и я пытаюсь заставить файл Excel печатать только на одной странице формата A4, независимо от ширины и содержимого.

На самом деле, когда файл распечатывается, он занимает две страницы, а вторая содержит всего один столбец.

Мой код:

ws.PrinterSettings.Orientation = eOrientation.Landscape;
ws.PrinterSettings.PrintArea = ws.Cells[ws_dimension_adress];
ws.PrinterSettings.TopMargin= 0;
ws.PrinterSettings.RightMargin = 0;
ws.PrinterSettings.BottomMargin = 0;
ws.PrinterSettings.LeftMargin = 0;
ws.Cells[ws_dimension_adress].AutoFitColumns();
ws.Cells[ws_dimension_adress].Style.Font.Size = 9;

Результат: результат, предоставленный моим кодом

введите здесь описание изображения

Что мне нужно:

введите здесь описание изображения

Я искал такие вещи, как «автоподгонка к странице A4», eso, но решения пока нет.

Примечание: необходимы все столбцы. Я не могу просто удалить его перед созданием файла.

Спасибо за помощь!


person i1867924    schedule 03.12.2015    source источник


Ответы (2)


Я нашел решение.

В EPPlus для этого есть настройки принтера. Линия для использования

ws.PrinterSettings.FitToPage = true;

Используя это, свойства файлов по умолчанию заставляют Excel печатать данные только на одной странице.

Надеюсь, это поможет некоторым другим разработчикам.

person i1867924    schedule 03.12.2015

Вы также можете использовать эту строку кода для определенного размера бумаги:

ws.PrinterSettings.PaperSize = ePaperSize.A4;

Hopte это помогает некоторым другим людям.

person Tom el Safadi    schedule 20.08.2017