- using System;
- using System.Data;
- using System.Configuration;
- using System.Collections;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
- using Excel=Microsoft.Office.Interop.Excel;
- using System.Text;
- using System.IO;
- using System.Reflection;
- public partial class workbook : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- CreateExcel();
- }
- private void CreateExcel()
- {
- //ExcelOperate excelOperate = new ExcelOperate();
- Excel.Application app = new Excel.Application();
- if (app == null)
- {
- return;
- }
- app.Visible = false;
- app.UserControl = true;
- Excel.Workbooks workbooks = app.Workbooks; //工作薄集合
- Excel._Workbook workbook = workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);//这里的Add方法里的参数就相当于继承了一个空模板(暂这样理解吧) 工作薄
- Excel.Sheets sheets = workbook.Worksheets;//工作表集合
- Excel._Worksheet worksheet = (Excel._Worksheet)sheets.get_Item(1);//工作表
- worksheet.Copy(Missing.Value,workbook.Sheets.get_Item(1)); //复制工作表
- worksheet.Copy(Missing.Value, worksheet);//复制工作表
- Excel._Worksheet worksheet1= (Excel._Worksheet)sheets.get_Item(2);//工作表2
- worksheet1.Name = "工作表2";
- if (worksheet == null)
- {
- return;
- }
- worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[1, 4]).Merge(Missing.Value); //横向合并
- worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[1, 1]).Value2 = "导出EXCEL测试一";
- //excelOperate.SetBold(worksheet, worksheet.Cells[1, 1], worksheet.Cells[1, 1]); //黑体
- //excelOperate.SetHAlignCenter(worksheet, worksheet.Cells[1, 1], worksheet.Cells[1, 1]);//居中
- //excelOperate.SetBgColor(worksheet, worksheet.Cells[1, 1], worksheet.Cells[1, 1], System.Drawing.Color.Red);//背景色
- //excelOperate.SetFontSize(worksheet, worksheet.Cells[1, 1], worksheet.Cells[1, 1], 16);//字体大小
- //excelOperate.SetRowHeight(worksheet, worksheet.Cells[1, 1], worksheet.Cells[1, 1], 32.25);//行高
- worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[1, 1]).Borders.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black);//黑色连续边框
- worksheet.Cells[2, 1] = "序号";
- worksheet.Cells[2, 2] = "公司";
- worksheet.Cells[2, 3] = "部门";
- //excelOperate.SetBold(worksheet, worksheet.Cells[2, 1], worksheet.Cells[2, 3]); //黑体
- worksheet.get_Range(worksheet.Cells[2, 1], worksheet.Cells[2, 3]).Borders.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black);
- //excelOperate.SetHAlignRight(worksheet, worksheet.Cells[2, 1], worksheet.Cells[2, 3]);
- //excelOperate.SetBgColor(worksheet, worksheet.Cells[2, 1], worksheet.Cells[2, 3], System.Drawing.Color.Silver);//背景色
- int rowNum = 0;
- //for (int i = 0; i < dv.Count; i++)
- //{
- int i = 0;
- rowNum = i + 1;
- worksheet.Cells[3 + i, 1] = 1;
- worksheet.Cells[3 + i, 2] = "test";
- worksheet.Cells[3 + i, 3] = "测试12345";
- //excelOperate.SetBold(worksheet, worksheet.Cells[3 + i, 1], worksheet.Cells[3 + i, 1]); //黑体
- //excelOperate.SetHAlignCenter(worksheet, worksheet.Cells[3 + i, 1], worksheet.Cells[3 + i, 3]);//居中
- worksheet.get_Range(worksheet.Cells[3 + i, 1], worksheet.Cells[3 + i, 3]).Borders.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black);//设置边框颜色,不然打印预览,会非常不雅观
- //}
- //excelOperate.SetColumnWidth(worksheet, "A", 10);
- //excelOperate.SetColumnWidth(worksheet, "B", 20);
- //excelOperate.SetColumnWidth(worksheet, "C", 20);
- worksheet.get_Range(worksheet.Cells[4, 1], worksheet.Cells[5, 1]).Merge(Missing.Value); //纵向合并
- worksheet.get_Range(worksheet.Cells[4, 1], worksheet.Cells[5, 1]).Value2 = "测试纵向合并";
- worksheet.get_Range(worksheet.Cells[4, 1], worksheet.Cells[5, 1]).Borders.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
- worksheet.Name = "导出EXCEL测试一"; //表命名
- worksheet1.get_Range(worksheet1.Cells[1,1],worksheet1.Cells[1,4]).Merge(Missing.Value);
- worksheet1.get_Range(worksheet1.Cells[1,1],worksheet1.Cells[1,4]).Value2="工作表2";
- worksheet1.get_Range(worksheet1.Cells[1, 1], worksheet1.Cells[1, 4]).Borders.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
- string tick = DateTime.Now.Ticks.ToString();
- //save_path = temp_path + "//" + tick + ".xls";
- string save_path = "~/"+tick + ".xls";
- workbook.SaveAs(Server.MapPath(save_path),Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
- //excelOperate.Dispose(worksheet, workbook, app);//关闭Excel进程
- app.Quit();
- }
- }
vs2005生成excel
最新推荐文章于 2015-11-13 16:16:10 发布