C#导出Excel和相关打印设置
Excel.Application myExcel = new Excel.Application();
Excel.Workbook workbookData = myExcel.Application.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
Excel.Worksheet xlSheet = (Worksheet)workbookData.Worksheets[1];//取得sheet1
1) 顯示當(dāng)前窗口: xlSheet.Visible = True;
2) 更改 Excel 標(biāo)題欄: xlSheet.Caption = '應(yīng)用程序調(diào)用 Microsoft Excel';
3) 添加新工作簿: xlSheet.WorkBooks.Add;
4) 打開已存在的工作簿: xlSheet.WorkBooks.Open( 'd:/Demo.xls' );
5) 設(shè)置第2個(gè)工作表為活動(dòng)工作表: xlSheet.WorkSheets[2].Activate;?
或 xlSheet.WorksSheets[ 'Sheet2' ].Activate;
6) 給單元格賦值:xlSheet.Cells[1,4].Value = 'http://blog.soso.com/qz.q/第一行第四列';
xlSheet.Cells(2,j+1).Interior.Color = 50000 ;//設(shè)置單元格背景顏色
7) 設(shè)置指定列的寬度(單位:字符個(gè)數(shù)),以第一列為例: xlSheet.Columns[1].ColumnsWidth = 5;?
8) 設(shè)置指定行的高度(單位:磅)(1磅=0.035厘米),以第二行為例: xlSheet.Rows[2].RowHeight = 1/0.035; // 1厘米?
9) 在第8行之前插入分頁符: xlSheet.WorkSheets[1].Rows[8].PageBreak = 1;?
10) 在第8列之前刪除分頁符: xlSheet.Columns[4].PageBreak = 0;?
11) 指定邊框線寬度: xlSheet.Range[ 'B3:D4' ].Borders[2].Weight = 3; 1-左 2-右 3-頂 4-底 5-斜( / ) 6-斜( / )?
12) 清除第一行第四列單元格公式: xlSheet.Cells[1,4].ClearContents;?
13) 設(shè)置第一行字體屬性:?
xlSheet.Rows[1].Font.Name = '隸書';?
xlSheet.Rows[1].Font.Color = clBlue;?
xlSheet.Rows[1].Font.Bold = True;?
xlSheet.Rows[1].Font.UnderLine = True;?
xlSheet.Range("A1:G1").Merge(); //合并單元格?
14) 進(jìn)行頁面設(shè)置:?
xlSheet.PageSetup.FirstPageNumber=1;/ /從首頁開始打印?
xlSheet.PageSetup.Orientation=2;//設(shè)置為橫向打印?
xlSheet.PageSetup.PrintTitleRows = "$2:$2";//固定打印表頭?
a.頁眉: 注:這里要注意,如果是Wps ET,Margin的單位默認(rèn)為像素,要注意一下所給的值,別超出合理范圍;而Excel單位默認(rèn)為字符數(shù); xlSheet.PageSetup.CenterHeader = '報(bào)表演示';
b.頁腳: xlSheet.PageSetup.CenterFooter = '第&P頁---------共(&N)頁';?
c.頁眉到頂端邊距2cm: xlSheet.PageSetup.HeaderMargin = 2/0.035;?
d.頁腳到底端邊距3cm: xlSheet.PageSetup.HeaderMargin = 3/0.035;?
e.頂邊距2cm: xlSheet.PageSetup.TopMargin = 2/0.035;?
f.底邊距2cm: xlSheet.PageSetup.BottomMargin = 2/0.035;?
g.左邊距2cm: xlSheet.PageSetup.LeftMargin = 2/0.035;?
h.右邊距2cm: xlSheet.PageSetup.RightMargin = 2/0.035;?
i.頁面水平居中: xlSheet.PageSetup.CenterHorizontally = 2/0.035;?
j.頁面垂直居中: xlSheet.PageSetup.CenterVertically = 2/0.035;?
k.打印單元格網(wǎng)線: xlSheet.PageSetup.PrintGridLines = True;?
15) 拷貝操作:?
a.拷貝整個(gè)工作表: xlSheet.Used.Range.Copy;?
b.拷貝指定區(qū)域: xlSheet.Range[ 'A1:E2' ].Copy;?
c.從A1位置開始粘貼: xlSheet.Range.[ 'A1' ].PasteSpecial;?
d.從文件尾部開始粘貼: xlSheet.Range.PasteSpecial;?
16) 插入一行或一列:?
a. xlSheet.Rows[2].Insert;?
b. xlSheet.Columns[1].Insert;?
17) 刪除一行或一列:?
a. xlSheet.Rows[2].Delete;?
b. xlSheet.Columns[1].Delete;?
18) 打印預(yù)覽工作表: xlSheet.PrintPreview;?
19) 打印輸出工作表: xlSheet.PrintOut;?
20) 工作表另存為: workbookData.Saved = true;
xlSheet.SaveAs(filename, missing, missing, missing, missing, missing, missing, missing, missing, missing);
21) 關(guān)閉工作簿: workbookData.Close(false, missing, missing);
22) 退出 Excel: myExcel.Quit();
在C#中如何對Excel單元格設(shè)置背景色以及對Range設(shè)邊框
private Excel.Application objApp;private Excel.Sheets objSheets;
private Excel._Worksheet objSheet;
private Excel.Range range;
objApp = new Excel.Application();
objSheet = (Excel._Worksheet)objSheets.get_Item(1);
/// <summary>
/// 設(shè)置單元格的背景色---多個(gè)連接的單元格
/// </summary>
/// <param name="sRow">開始行</param>
/// <param name="sCol">開始列</param>
/// <param name="eRow">結(jié)束行</param>
/// <param name="eCol">結(jié)束列</param>
/// <param name="colorIndex">顏色的索引</param>
public void SetRangeBackground(int sRow,int sCol,int eRow,int eCol,int colorIndex)
{
range=objSheet.get_Range(objSheet.Cells[sRow,sCol],objSheet.Cells[eRow,eCol]);
range.Interior.ColorIndex=colorIndex;
}
/// <summary>
/// 設(shè)置單元格的線
/// </summary>
public void SetBorderLine(int sRow,int sCol,int eRow,int eCol)
{
range=objSheet.get_Range(objSheet.Cells[sRow,sCol],objSheet.Cells[eRow,eCol]);
range.Cells.Borders.LineStyle=1;
}
?
設(shè)置邊框顏色:sheet.Cells[startRow, 2].Borders.Color = 0x0000ff;//這個(gè)是紅色,x后前兩個(gè)0是藍(lán)色,中間兩個(gè)0是綠色,最后兩個(gè)是紅色~~
?
設(shè)置制定邊框:sheet.Range[sheet.Cells[1, 2], sheet.Cells[1 ,30]].Borders[4].LineStyle = 1;
Border[4]是指下邊框,3是指上邊框,1是左,2是右~~填成0會(huì)報(bào)錯(cuò).不加中括號(hào)是全部的邊框~~~
?
?
Excel里設(shè)置顏色的時(shí)候:ColorIndex,不能用Color(我汗).在網(wǎng)上找到的這個(gè)圖,不用自己去一個(gè)個(gè)試了
來個(gè)改背景色的例子:sheet.Cells[startRow, 25].Interior.ColorIndex = 4;
?
合并單元格:r=ws.get_Range(ws.Cells[1,1],ws.Cells[1,6]); ? ? //取得合并的區(qū)域?
r.MergeCells=true;
?
C#調(diào)用Excel時(shí)刪除Sheet的小問題
?用C#調(diào)Excel對象的Worksheets.Delete進(jìn)行刪除某個(gè)文件中的Sheet時(shí)始終無法實(shí)現(xiàn)。后來發(fā)現(xiàn)問題所在:
默認(rèn)情況下,Appliation.Open文件時(shí)visible為false,在無宏的情況下只會(huì)在后臺(tái)進(jìn)行操作,不在前臺(tái)打開頁面。這種情況下,如果只調(diào)用Delete來刪除,會(huì)彈出確認(rèn)刪除的對話框,但是由于是后臺(tái)操作無法看見這個(gè)對話框,所以始終刪除沒有完成。將visible時(shí)才發(fā)現(xiàn)問題所在。
解決方法,不彈出這個(gè)提示框,workbook.displayalerts = false ,即可。(注:此處的workbook是Application)
轉(zhuǎn)載于:https://www.cnblogs.com/sunyujing/p/4079221.html
總結(jié)
以上是生活随笔為你收集整理的C#导出Excel和相关打印设置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 漫谈委托和事件
- 下一篇: oracle 10 升级补丁