根据提供的文件信息,我们可以归纳出以下关于使用C#进行Excel操作的关键知识点:
### C# 操作Excel基础
在C#中处理Excel文档通常涉及到几个关键类:`Workbook`, `Worksheet`, 和 `Application`。这些类提供了操作Excel文档所需的大部分功能。
#### 创建Excel Application实例
```csharp
private Excel.Application _excelApplicatin = null;
_excelApplicatin = new Excel.Application();
_excelApplicatin.Visible = true;
_excelApplicatin.DisplayAlerts = true;
```
这里初始化了一个Excel Application实例,并设置其可见性和是否显示警告。
#### 创建新的Workbook
```csharp
private Workbook _workBook = null;
_workBook = _excelApplicatin.Workbooks.Add(XlSheetType.xlWorksheet);
```
通过`Workbooks.Add()`方法创建一个新的工作簿。
#### 创建或获取Worksheet
```csharp
private Worksheet _workSheet = null;
_workSheet = (Worksheet)_workBook.ActiveSheet;
_workSheet.Name = "workSheetName";
```
通过`ActiveSheet`属性获取当前活动的工作表,并为其指定名称。
### 打开现有Excel文件
```csharp
string strExcelPathName = AppDomain.CurrentDomain.BaseDirectory + "excelSheetName.xls";
Excel.Workbook workBook = application.Workbooks.Open(strExcelPathName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
```
通过`Workbooks.Open()`方法打开指定路径的Excel文件。
### 操作单元格与范围
```csharp
Excel.Worksheet workSheet1 = (Excel.Worksheet)workBook.Sheets["SheetName1"];
Excel.Worksheet workSheet2 = (Excel.Worksheet)workBook.Sheets["SheetName2"];
```
通过`Sheets`集合可以获取特定名称的工作表。
#### 设置行高和列宽
```csharp
((Excel.Range)_workSheet.Rows["1:1", System.Type.Missing]).RowHeight = 100;
((Excel.Range)_workSheet.Columns["A:B", System.Type.Missing]).ColumnWidth = 10;
```
使用`Rows`和`Columns`属性分别设置行高和列宽。
### 冻结窗格
```csharp
Excel.Range excelRange = _workSheet.get_Range(_workSheet.Cells[10, 5], _workSheet.Cells[10, 5]);
excelRange.Select();
excelApplication.ActiveWindow.FreezePanes = true;
```
选择特定范围后,使用`FreezePanes`属性来冻结窗格。
### 设置边框样式
```csharp
Excel.Range excelRange = _workSheet.get_Range(_workSheet.Cells[2, 2], _workSheet.Cells[4, 6]);
excelRange.Borders.LineStyle = 1;
excelRange.Borders.get_Item(XlBordersIndex.xlEdgeTop).LineStyle = Excel.XlLineStyle.xlContinuous;
excelRange.Borders.get_Item(XlBordersIndex.xlEdgeBottom).Weight = Excel.XlBorderWeight.xlMedium;
excelRange.Borders.get_Item(XlBordersIndex.xlEdgeBottom).ColorIndex = 3;
```
通过`Borders`属性设置单元格范围的边框样式、颜色和宽度。
### 设置字体样式
```csharp
excelRange.Font.Size = 15;
excelRange.Font.Underline = true;
```
设置单元格内文本的字体大小和下划线。
### 设置水平对齐方式
```csharp
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
```
设置单元格内容的水平对齐方式。
### 合并单元格
虽然提供的代码片段中没有直接涉及合并单元格的操作,但在C#中可以通过`Merge()`方法来实现单元格的合并:
```csharp
Excel.Range rangeToMerge = _workSheet.get_Range(_workSheet.Cells[1, 1], _workSheet.Cells[2, 2]);
rangeToMerge.Merge();
```
以上代码将第1行第1列至第2行第2列的单元格合并为一个单元格。
C#提供了强大的工具来操作Excel文档,包括创建新文档、打开已有文档、设置行高列宽、冻结窗格、设置边框和字体样式等。这些功能对于自动化处理Excel数据非常有用。