C# 對(duì)Excel 單元格格式, 及行高厅各、列寬盗蟆、單元格邊框線(xiàn)戈二、凍結(jié)設(shè)置

這篇簡(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

https://wenku.baidu.com/view/79153b92d4d8d15abe234e2f.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市宏赘,隨后出現(xiàn)的幾起案子绒北,更是在濱河造成了極大的恐慌,老刑警劉巖察署,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件闷游,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)脐往,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)休吠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人业簿,你說(shuō)我怎么就攤上這事瘤礁。” “怎么了梅尤?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵柜思,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我巷燥,道長(zhǎng)赡盘,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任缰揪,我火速辦了婚禮陨享,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘钝腺。我一直安慰自己抛姑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布艳狐。 她就那樣靜靜地躺著定硝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪僵驰。 梳的紋絲不亂的頭發(fā)上喷斋,一...
    開(kāi)封第一講書(shū)人閱讀 49,111評(píng)論 1 285
  • 那天唁毒,我揣著相機(jī)與錄音蒜茴,去河邊找鬼。 笑死浆西,一個(gè)胖子當(dāng)著我的面吹牛粉私,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播近零,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼诺核,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了久信?” 一聲冷哼從身側(cè)響起窖杀,我...
    開(kāi)封第一講書(shū)人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎裙士,沒(méi)想到半個(gè)月后入客,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年桌硫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了夭咬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡铆隘,死狀恐怖卓舵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情膀钠,我是刑警寧澤掏湾,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站肿嘲,受9級(jí)特大地震影響忘巧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜睦刃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一砚嘴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧涩拙,春花似錦际长、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至搓彻,卻和暖如春如绸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背旭贬。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工怔接, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人稀轨。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓扼脐,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親奋刽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瓦侮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容