Как да създадете 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;

Надявам се това да помогне на някои други хора.

person Tom el Safadi    schedule 20.08.2017