2017-09-14 28 views
-1

私は手動PageBreaksを持つExcelを持っていますが、Excelは自動的にPagebreaksを追加しています。私は、自動改ページが来る場所を見つける必要があります。誰でもコードを教えてください。私は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

あなたのタスクを達成するために(Aspose.CellsはAPIを使用して)次のサンプルコードを参照してください: 例えば サンプルコード:

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社のサポート、開発者/エバンジェリストとして働いています。

+0

ありがとう、Amjad。ここで、指定した場所で自動ページ区切りを削除する必要があるのは、workbook.Worksheets [0] .Horizo​​ntalPageBreaks.RemoveAt(strow)です。 また、自動改ページのみが削除され、手動改ページは削除されません。 – Gopa

+0

私はすべてのpagebreaksも手動のものを得るが、私はほんの自動のものが欲しい。また、strowとstcolには何の価値も与えません。 – Gopa

+0

さて、Worksheet.Horizo​​ntalPageBreaks.RemoveAt()メソッドとWorksheet.VerticalPageBreaks.RemoveAt()メソッドを使用して、水平および垂直のページ区切りをそのインデックスに基づいて削除しようとすることがあります(0から始まり、0 - >最初の改ページ、 1 - > 2番目の改ページ、2 - > 3番目の改ページ)。また、すべてのページ区切りが検索されます(手動で追加したものであっても、自動(既存)であっても)。手動および自動の改ページは、改ページの印刷と呼ばれ、すべての改ページが行われます。 –

関連する問題