2012-03-29 7 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()は働いていますが、私は自分の価値観に挑戦したいと思います。私はあなたががRowHeightを探しているかもしれないと思う

+1

あなたは 'OfficeOpenXml'を使用してみましたか?それはより簡単で、あなたはそれを行うことができます。あなたが望むなら、私はそれが何のように見えるかを見るために少しのコードを貼り付けることができます:) – Bip

+0

してください。だからシンプルな機能と見つけることは難しい。 – JanOlMajti

+0

'xlsgen'はおそらくあなたの' OfficeOpenXml'と似ています。http://xlsgen.arstdesign.com/core/rowsandcolumns.html – JanOlMajti

答えて

6
+0

すでに自分のコードに変更しようとしましたが、動作しません。 – JanOlMajti

+1

が私に役立ちます。上のコードに 'chartRange.RowHeight = 38;'を追加すると( 'chartRange.Font.Bold = true;'の直下)、行の高さが変更されます – paul

+0

さて、今は動作しています。それは簡単だろうと分かった;)ありがとう。 – JanOlMajti

関連する問題