2012-03-29 51 views
3

可能很容易。我怎样才能改变行或列高?以编程方式更改excel行或列的高度

xlApp = new Excel.Application(); 
xlApp.Visible = true; 
xlApp.DisplayAlerts = false; 
Excel.Workbooks xlWorkBooks = xlApp.Workbooks; 
xlWorkBook = xlWorkBooks.Open(directoryPath + "\\" + fileName, 0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false); 

xlWorkSheets = xlWorkBook.Worksheets; //Get all the sheets in the workbook 
xlWorkSheet = (Excel.Worksheet)xlWorkSheets.get_Item("Sheet1"); //Get the allready exists sheet 
Excel.Range range = xlWorkSheet.UsedRange; 
Excel.Range chartRange; 

int colCount = range.Columns.Count; 
int rowCount = range.Rows.Count; 

    xlWorkSheet.Cells[rowCount + 5, 1] = "Name and surname"; 
    chartRange = xlWorkSheet.get_Range("a" + (rowCount + 5), "e" + (rowCount + 5)); 
    chartRange.Font.Bold = true; 

xlWorkBook.SaveAs(fileName, Excel.XlFileFormat.xlOpenXMLWorkbook, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); 
    xlWorkBook.Close(misValue, misValue, misValue); 
    xlWorkSheet = null; 
    xlWorkBook = null; 
    xlApp.Quit(); 

    GC.WaitForPendingFinalizers(); 
    GC.Collect(); 
    GC.WaitForPendingFinalizers(); 
    GC.Collect(); 

xlWorkSheet.UsedRange.EntireRow.Height = value;一起尝试,但它不起作用。 autoFit()正在工作,但我想与我的价值工作。

+1

你有没有尝试使用'OfficeOpenXml'?这很容易,你可以做到这一点。如果你想,我可以粘贴一些代码,看看它是什么样子:) – Bip 2012-03-29 09:42:06

+0

请做。如此简单的功能,所以很难找到。 – JanOlMajti 2012-03-29 09:47:45

+0

'xlsgen'可能类似于你的'OfficeOpenXml' http://xlsgen.arstdesign.com/core/rowsandcolumns.html – JanOlMajti 2012-03-29 09:57:56

回答

6
+0

已经尝试修改我的代码,但它不起作用 – JanOlMajti 2012-03-29 09:55:51

+1

适合我。如果我将'chartRange.RowHeight = 38;'添加到上面的代码中(紧接在'chartRange.Font.Bold = true;'的下面),那么行高就会改变 – paul 2012-03-29 10:08:45

+0

呵呵,现在它正在工作。知道这将是简单的;)谢谢。 – JanOlMajti 2012-03-29 10:13:58

相关问题