(1)插入一定数量的行数
((Excel._Worksheet)excel.Sheets [1]).get_Range (excel.Cells [1,1],excel.Cells[4,1]).EntireRow .Insert (missing,missing);
(2)输出报表,如果Report1存在,则把模板存为Report2.xls
(3)把Template目录下的模板拷贝到Export目录下,路径和文件名为上述(2)里面的tempPath2:
(4)打开这个从模板拷贝到Export目录的文件,并在第i行、j列插入内容:
xSt=(Excel.Worksheet)myExcel.Sheets [1];
xSt.Cells [i,j]=textBox1.Text ;
(5)将第1行到40行的行高设为14.25:
xSt.get_Range (xSt.Cells [1,1],xSt.Cells [40,1]).RowHeight =14.25;
(6)设置边框
xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Borders.LineStyle = 1;
(7)用Excel自带的查询分析器快速填充数据
Excel._Workbook xBk;
Excel._Worksheet xSt;
Excel._QueryTable xQt;
string Conn = "ODBC;DRIVER=SQL Server;SERVER=ServerName;UID=sa;PWD=;APP=WinXP;WSID=ClientName;DATABASE=DatabaseName";
string SelectString = "SELECT * from tablename";
xBk = myExcel.Workbooks[1];
xSt = (Excel._Worksheet)xBk.ActiveSheet;
xQt = xSt.QueryTables.Add(Conn,xSt.get_Range(myExcel.Cells[11,2],myExcel.Cells[11,2]),SelectString);
xQt.Name = "";
xQt.FieldNames = false;
xQt.RowNumbers = false;
xQt.FillAdjacentFormulas = false;
xQt.PreserveFormatting = true;
xQt.BackgroundQuery = true;
xQt.RefreshStyle = Excel.XlCellInsertionMode.xlInsertDeleteCells;
xQt.AdjustColumnWidth = false;
xQt.RefreshPeriod = 0;
xQt.PreserveColumnInfo = true;
xQt.Refresh(xQt.BackgroundQuery);
(8)增加sheet并命名sheet
private void Button1_Click(object sender, System.EventArgs e)
myExcel.Visible =true;
(9)插入图片(例如插入D盘根目录下的tt.bmp,必须添加引用:Microsoft.Office Object Library对象库,并在窗体最前面有using Office = Microsoft.Office.Core;)
xSt.Shapes .AddPicture ("D://tt.bmp",Microsoft.Office .Core .MsoTriState.msoFalse ,Microsoft.Office .Core .MsoTriState.msoTrue ,10,10,150,150);
--通用方法:
还有很多C#操作Excel的方法,不在此举例了。
当你不知道怎么写C#代码操作Excel时,一个比较通用的方法是:
在Excel里->工具->宏->录制新宏,然后你将你想要的效果操作一遍,然后单击工具->宏->停止录制,然后单击工具->宏->宏->编辑,就可以查看代码了,这些代码与C#里面的代码大部分是类似的,有些代码的引用不一定完全一样,但你最起码知道了这个引用方法是从哪个父对象引用的,在VS里面找起来也方便很多。