這篇簡(jiǎn)短的文字對(duì)單元格的操作總結(jié)的比較全面,特此轉(zhuǎn)載過(guò)來(lái)喳资。
private?_Workbook _workBook =?null;
private?Worksheet _workSheet =?null;
private?Excel.Application _excelApplicatin =?null;
_excelApplicatin =?new?Excel.Application();
_excelApplicatin.Visible =?true;
_excelApplicatin.DisplayAlerts =?true;
_workBook = _excelApplicatin.Workbooks.Add(XlSheetType.xlWorksheet);
_workSheet = (Worksheet)_workBook.ActiveSheet;
_workSheet.Name =?"workSheetName";
//打開(kāi)已存在的Excel
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);
//讀取已打開(kāi)的Excel
Excel.Worksheet workSheet1 = (Excel.Worksheet)workBook.Sheets["SheetName1"];
Excel.Worksheet workSheet2 = (Excel.Worksheet)workBook.Sheets["SheetName2"];???????
//添加一個(gè)workSheet
Worksheet workSheet = (Worksheet)workBook.Worksheets.Add(System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing);
//RowHeight?? "1:1"表示第一行, "1:2"表示,第一行和第二行
((Excel.Range)_workSheet.Rows["1:1", System.Type.Missing]).RowHeight = 100;
//ColumnWidth "A:B"表示第一列和第二列, "A:A"表示第一列
((Excel.Range)_workSheet.Columns["A:B", System.Type.Missing]).ColumnWidth = 10;
// EXCEL操作(需要凍結(jié)的字段 按住ALT+W 再按F)
?Excel.Range excelRange = _workSheet .get_Range(_workSheet .Cells[10, 5], _workSheet .Cells[10, 5]);
excelRange.Select();
excelApplication.ActiveWindow.FreezePanes =?true;
//Borders.LineStyle 單元格邊框線(xiàn)
Excel.Range excelRange = _workSheet.get_Range(_workSheet.Cells[2, 2], _workSheet.Cells[4, 6]);
//單元格邊框線(xiàn)類(lèi)型(線(xiàn)型,虛線(xiàn)型)
excelRange.Borders.LineStyle = 1;
excelRange.Borders.get_Item(XlBordersIndex.xlEdgeTop).LineStyle = Excel.XlLineStyle.xlContinuous;
//指定單元格下邊框線(xiàn)粗細(xì),和色彩
excelRange.Borders.get_Item(XlBordersIndex.xlEdgeBottom).Weight = Excel.XlBorderWeight.xlMedium;
excelRange.Borders.get_Item(XlBordersIndex.xlEdgeBottom).ColorIndex =3;
//設(shè)置字體大小
excelRange.Font.Size = 15;
//設(shè)置字體是否有下劃線(xiàn)
excelRange.Font.Underline =?true;?
//設(shè)置字體在單元格內(nèi)的對(duì)其方式
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
//設(shè)置單元格的寬度
excelRange.ColumnWidth = 15;
//設(shè)置單元格的背景色
excelRange.Cells.Interior.Color = System.Drawing.Color.FromArgb(255, 204, 153).ToArgb();
// 給單元格加邊框
excelRange.BorderAround(XlLineStyle.xlContinuous, XlBorderWeight.xlThick,
XlColorIndex.xlColorIndexAutomatic, System.Drawing.Color.Black.ToArgb());
//自動(dòng)調(diào)整列寬
excelRange.EntireColumn.AutoFit();
// 文本水平居中方式
excelRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;???????????
//文本自動(dòng)換行
excelRange.WrapText =?true;
//填充顏色為淡紫色
excelRange.Interior.ColorIndex = 39;
//合并單元格
excelRange.Merge(excelRange.MergeCells);
_workSheet.get_Range("A15",?"B15").Merge(_workSheet.get_Range("A15",?"B15").MergeCells);
/// <summary>
/// 常用顏色定義,對(duì)就Excel中顏色名
/// </summary>
public?enum?ColorIndex
{
???無(wú)色 = -4142,?? 自動(dòng) = -4105,?? 黑色 = 1,?? 褐色 = 53,?? 橄欖 = 52,?? 深綠 = 51,?? 深青 = 49,
???深藍(lán) = 11,?? 靛藍(lán) = 55,?? 灰色80 = 56,?? 深紅 = 9,?? 橙色 = 46,?? 深黃 = 12,?? 綠色 = 10,
???青色 = 14,?? 藍(lán)色 = 5,?? 藍(lán)灰 = 47,?? 灰色50 = 16,?? 紅色 = 3,?? 淺橙色 = 45,?? 酸橙色 = 43,
???海綠 = 50,?? 水綠色 = 42,?? 淺藍(lán) = 41,?????? 紫羅蘭 = 13,?? 灰色40 = 48,?? 粉紅 = 7,
???金色 = 44,?? 黃色 = 6,?? 鮮綠 = 4,?? 青綠 = 8,?? 天藍(lán) = 33,?? 梅紅 = 54,?? 灰色25 = 15,
???玫瑰紅 = 38,?? 茶色 = 40,?? 淺黃 = 36,?? 淺綠 = 35,?? 淺青綠 = 34,?? 淡藍(lán) = 37,?? 淡紫 = 39,
???白色 = 2
}
Code segment2
range.NumberFormatLocal =?"@";?//設(shè)置單元格格式為文本
range = (Range)worksheet.get_Range("A1",?"E1");?//獲取Excel多個(gè)單元格區(qū)域:本例做為Excel表頭
range.Merge(0);?//單元格合并動(dòng)作
worksheet.Cells[1, 1] =?"Excel單元格賦值";?//Excel單元格賦值
range.Font.Size = 15;?//設(shè)置字體大小
range.Font.Underline=true;?//設(shè)置字體是否有下劃線(xiàn)
range.Font.Name="黑體";?????? 設(shè)置字體的種類(lèi)??
range.HorizontalAlignment=XlHAlign.xlHAlignCenter;?//設(shè)置字體在單元格內(nèi)的對(duì)其方式
range.ColumnWidth=15;?//設(shè)置單元格的寬度
range.Cells.Interior.Color=System.Drawing.Color.FromArgb(255,204,153).ToArgb();?//設(shè)置單元格的背景色
range.Borders.LineStyle=1;?//設(shè)置單元格邊框的粗細(xì)
range.BorderAround(XlLineStyle.xlContinuous,XlBorderWeight.xlThick,XlColorIndex.xlColorIndexAutomatic,System.Drawing.Color.Black.ToArgb());?//給單元格加邊框
range.Borders.get_Item(Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeTop).LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlLineStyleNone;?//設(shè)置單元格上邊框?yàn)闊o(wú)邊框
????range.EntireColumn.AutoFit();?//自動(dòng)調(diào)整列寬
Range.HorizontalAlignment= xlCenter;?// 文本水平居中方式
Range.VerticalAlignment= xlCenter?//文本垂直居中方式
Range.WrapText=true;?//文本自動(dòng)換行
Range.Interior.ColorIndex=39;?//填充顏色為淡紫色
Range.Font.Color=clBlue;?//字體顏色
xlsApp.DisplayAlerts=false;?//保存Excel的時(shí)候觉吭,不彈出是否保存的窗口直接進(jìn)行保存
Excel Interior.ColorIndex色彩列表
對(duì)用的Interior.ColorIndex色彩列表。
在C# 對(duì)Excel編程中的使用:
for?(int?i = 5; i < countRow + 1; i++)
???????????{
???????????????string?strKB =?null;
???????????????Microsoft.Office.Interop.Excel.Range kbrng = (Microsoft.Office.Interop.Excel.Range)sheSource.Cells[i, 1];
???????????????if?(kbrng.Value2 !=?null)
???????????????????strKB = kbrng.Value2.ToString();
???????????????if?(strTotal.Contains(strKB))
???????????????????kbrng.Interior.ColorIndex = 3;
???????????}
二仆邓、常見(jiàn)的Excel單元格格式設(shè)置內(nèi)容
2.1 數(shù)字(Range.NumberFormatlocal 屬性)
常規(guī):
Range.NumberFormatlocal = "G/通用格式"
數(shù)值:
Range.NumberFormatlocal = "0.000_" --保留小 數(shù)位數(shù)為3??(此處“_”表示:留下一個(gè)與下一個(gè)字符同等寬度的空格)
Range.NumberFormatlocal = "0" --不要小數(shù)
Range.NumberFormatlo cal = "#,##0.000" --保留小數(shù)位數(shù)為3鲜滩,并使用千位分隔符
貨幣:
Range.NumberFormatlocal = "$#,##0.000"
百分比:
Range.NumberFormatlocal = "0.000%"
分?jǐn)?shù):
Range.NumberFormatlocal = "# ?/?"
科學(xué)計(jì)數(shù):
Range.NumberFormatlocal = "0.00E+00"
文本
Range.NumberFormatlocal = "@"
特殊:
Range.NumberFormatlocal = "000000"---郵政編碼
Range.NumberFormatlocal = "[DBNum1]G/通用格式"---中文小寫(xiě)數(shù)字
Range.NumberFormatlocal = "[DBNum2]G/通用格式"---中文大寫(xiě)數(shù)字
Range.NumberFormatlocal = "[DBNum2][$RMB]G/通用格式"---人民幣大寫(xiě)
2.2 對(duì)齊
水平對(duì)齊:Range.HorizontalAlignment = etHAlignCenter??---居中
垂 直對(duì)齊:Range.VerticalAlignment = etVAlignCenter---居中
是否自動(dòng)換行:Range.WrapText = True
是否縮小字體填充:Range.ShrinkToFit = True
是否合并單元格:Range.MergeCells = False
文字豎排:Range.Orientation = etVertical
文字傾斜度數(shù):Range.Orientation = 45 -----傾斜45度
字體(Font對(duì)象)
字體名稱(chēng):Font.Name = "華文行楷"
字形: Font.FontStyle = "常規(guī)"
字號(hào):Font.Size = "10"
下劃線(xiàn):Font.Strikethrough = True; Font.Underline = etUnderlineStyleDouble ---雙下劃線(xiàn)
上標(biāo):Font.Superscript = True
下 標(biāo):Font.SubScript = True
刪除線(xiàn):Font.OutlineFont = True
2.3?邊框(Borders對(duì)象)
Borders.Item(etEdgeTop):上邊框
Borders.Item(etEdgeLeft):左邊框
Borders.Item (etEdgeRight):右邊框
Borders.Item(etEdgeBottom):下邊框
Borders.Item(etDiagonalDown) :左上--右下邊框
Borders.Item(etDiagonalUp):左下--右上邊框
Border.LineStyle = etContinuous 線(xiàn)條樣式
參考博文:
http://www.cnblogs.com/herbert/archive/2010/06/30/1768271.html