写Excel的问题
我想从C#中的数据写入Excel工作表。
这是可以的,但我不知道如何改变单元格的文字devise(如字体,颜色…)以及如何alignment字母左或右?
我search了网页和书籍,但是没有组织任何信息。
简而言之,我想知道可以改变字体颜色和左alignment的方法…等等。
请在这里find一些你正在寻找的片段。 片段使用Microsoft Office基础库( Microsoft.Office.Interop
),没有EPPlus,没有Componentsource或其他。
有这样的准备工作:
... MSExcel.Application excelApp; excelApp = new Microsoft.Office.Interop.Excel.Application(); Workbook workBook; Worksheet sheet; Excel.Range range; ... ... workBook = excelApp.Workbooks.Open(...); sheet = (Worksheet)workBook.ActiveSheet; range = (Excel.Range)sheet.get_Range("A5:C7", Type.Missing); // Example of getting a range object ...
那么你可以使用这样的对象:
1)将边框边缘设置在一个范围内:
range.Borders[Excel.XlBordersIndex.xlEdgeBottom].LineStyle = Excel.XlLineStyle.xlContinuous; range.Borders[Excel.XlBordersIndex.xlEdgeBottom].Weight = Excel.XlBorderWeight.xlHairline;
2)将背景颜色设置为一个范围:
range.interior.Pattern = Excel.XlPattern.xlPatternSolid; range.interior.PatternColorIndex = Excel.XlColorIndex.xlColorIndexAutomatic; range.interior.ThemeColor = Excel.XlThemeColor.xlThemeColorDark1; range.interior.TintAndShade = -0.249977111117893; // This was captured by macro recording range.interior.PatternTintAndShade = 0;
3)设置列宽:
range.ColumnWidth = width;
4)将水平alignment设置为中心:
range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
我build议你把这些片段和谷歌周围,因为你会发现更多:-)
另外一个好的做法是在Excel VBA中将一些活动logging为macros。 然后,再用一些googleing,你应该能够把你看到的术语翻译成C#。 祝你好运!