Получить расположение разрыва страницы
У меня есть Excel с ручными PageBreaks, но Excel также добавляет в автоматических разрывах страниц. Мне нужно найти место, где происходит автоматический разрыв страницы. Может ли кто-нибудь, пожалуйста, помогите мне с кодом. Я понятия не имею, как поступить с использованием C# или Aspose.
ImageOrPrintOptions printoption = new ImageOrPrintOptions();
printoption.PrintingPage = PrintingPageType.Default;
SheetRender sr = new SheetRender(StateBasis, printoption);
int pageCount = sr.PageCount;
// MessageBox.Show(pageCount.ToString());
CellArea[] area1 = Toc.GetPrintingPageBreaks(printoption);
//MessageBox.Show(area.Length.ToString());
for (int m = 0; m < area1.Length;m++)
{
//Get the first page rows.
int strow = area1[m].StartRow;
int stcol = area1[m].StartColumn;
// MessageBox.Show("Page " + (i + 1).ToString() + " : " + CellsHelper.CellIndexToName(strow, stcol));
workBook.Worksheets["State Basis"].HorizontalPageBreaks.RemoveAt(strow);
}
1 ответ
См. Следующий пример кода (используя API-интерфейсы Aspose.Cells) для выполнения вашей задачи: например,пример кода:
Workbook workbook = new Workbook("e:\\test2\\Book1.xlsx");
Worksheet worksheet = workbook.Worksheets[0];
ImageOrPrintOptions printoption = new ImageOrPrintOptions();
printoption.PrintingPage = PrintingPageType.Default;
SheetRender sr = new SheetRender(worksheet, printoption);
int pageCount = sr.PageCount;
MessageBox.Show(pageCount.ToString());
CellArea[] area = worksheet.GetPrintingPageBreaks(printoption);
MessageBox.Show(area.Length.ToString());
for (int i = 0; i < area.Length; i++)
{
//Get the first page rows.
int strow = area[i].StartRow;
int stcol = area[i].StartColumn;
MessageBox.Show("Page " + (i + 1).ToString() + " : " + CellsHelper.CellIndexToName(strow, stcol));
}
Я работаю разработчиком поддержки / евангелистом в Aspose.