2012-10-15 48 views
0

在我的web應用程序中,用戶可以獲得excel報告。問題是:當一行中的單元格包含長文本時,所有行都會增長,並且excel報告看起來很糟糕。我需要爲我的Excel文檔中的所有行設置最大行高。在生成的excel文檔中設置最大行高

public bool UseOldFormat { get; set; } 

public ExcelFile GetExcelFile() 
     { 
      var excel = new ExcelFile(); 

      if (!string.IsNullOrEmpty(SourceFileName)) 
      { 
       if (SourceFileName.EndsWith("xls")) 
       { 
        excel.LoadXls(SourceFileName); 
       } 
       else 
       { 
        excel.LoadXlsx(SourceFileName, XlsxOptions.PreserveMakeCopy); 
       } 
      } 

      return excel; 
     } 

public void GenerateReport(string fileName) 
     { 
      ExcelFile excel = GetExcelFile(); 

      InsertDataInExcel(excel); 

      if (UseOldFormat) 
      { 
       excel.SaveXls(fileName); 
      } 
      else 
      { 
       excel.SaveXlsx(fileName); 
      } 
     } 

在excel選項中找不到這個函數。任何人都可以幫忙嗎?

回答

2

您可以指定列的範圍,然後可以調節寬度,它們的高度如下:

Microsoft.Office.Tools.Excel.NamedRange setColumnRowRange; 
    private void SetColumnAndRowSizes() 
    { 
     setColumnRowRange = this.Controls.AddNamedRange(
      this.Range["C3", "E6"], "setColumnRowRange"); 
     this.setColumnRowRange.ColumnWidth = 20; 
     this.setColumnRowRange.RowHeight = 25; 
     setColumnRowRange.Select(); 
    } 

訪問:http://msdn.microsoft.com/en-us/library/microsoft。 office.tools.excel.namedrange.rowheight.aspx

+0

excel文件中:var練成=新ExcelFile()後,Excel沒有NamedRange財產 –

+0

我用GemBox.Spreadsheet庫 –

+0

訪問內容:HTTP ://www.gemboxsoftware.com/Spreadsheet/Help/html/M_GemBox_Spreadsheet_NamedRangeCollection_Add.htm – 2012-10-15 08:45:31

0

這個宏做的伎倆,如果你只是有一些過高行的文件:
(你的,奧列格,如何將其在文檔創作工具集成,在情況下)

Sub MaxRowHeight() 
    Dim Re As Long 
    Re = ActiveCell.SpecialCells(xlLastCell).Row 
    For i = 1 To Re 
     If Rows(i).Height > 43.2 Then Rows(i).RowHeight = 43.2 
    Next i 
End Sub 

學分轉至本文以及討論有:
,當我創建http://excelribbon.tips.net/T010381_Adjusting_to_a_Maximum_Row_Height.html