首页 > 代码库 > Asp.net中操作Excel的代码解析
Asp.net中操作Excel的代码解析
一 . 使用Excel对象模型创建Excel文档:
1.创建简单的文档
1 try 2 { 3 //创建Excel程序对象 4 Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); 5 //设置创建WorkBook时,WorkBook包含表单个数 6 excel.SheetsInNewWorkbook = 1; 7 //创建WorkBook 8 excel.Workbooks.Add(); 9 10 //创建第一个工作表11 Worksheet sheet = excel.ActiveWorkbook.Sheets[1];12 //Worksheet sheet = (Worksheet)excel.ActiveWorkbook.Worksheets[1];13 14 //给工作表设置名称15 sheet.Name = "Student";16 sheet.Cells[1, 1] = txtName.Text;17 sheet.Cells[1, 2] = txtAge.Text;18 sheet.Cells[1, 3] = txtHabit.Text;19 20 //显示Excel21 excel.Visible = true;22 //现场休眠2000毫秒23 System.Threading.Thread.Sleep(2000);24 25 //保存当前活动的WorkBook26 excel.ActiveWorkbook.SaveAs(27 //Environment.CurrentDirectory + "/test.xls",//文件名28 "f:/test.xls",29 XlFileFormat.xlWorkbookNormal //保存文件的格式30 );31 32 //关闭当前活动的WorkBook33 excel.ActiveWorkbook.Close();34 //退出Excel应用程序35 excel.Quit();36 }37 catch (Exception ex)38 {39 40 throw new Exception(ex.Message);41 }
2.设置文档格式
1 //设置字体样式 2 Range ranRow = sheet.Range[sheet.Cells[2, 2], sheet.Cells[2, 10]]; 3 ranRow.Font.Bold = true;//字体加粗 4 ranRow.Font.Color = Color.SeaGreen;//字体颜色 5 //单元格操作 6 ranRow.HorizontalAlignment=XlHAlign.xlHAlignCenter;//对齐方式 7 ranRow .Interior.Color = Color.SeaGreen;//内边框样式 8 range.MergeCells = true;//合并单元格 9 //边框样式:10 ranBorder.BorderAround(XlLineStyle.xlContinuous, XlBorderWeight.xlThick);//区域外边框样式11 range.Borders.LineStyle = XlLineStyle.xlDouble;//内边框样式 12 //设置身份证号码,日期显示格式13 range.NumberFormat = "0";14 range.NumberFormatLocal = "yyyy-m-d";
二. 使用对象模型导出DataGridView数据到Excel文档
1.直接在窗体设计界面代码使用DataGridView作为数据源,直接使用显示出来的值填充Excel表格。
2.将DataGridView作为参数,传递到公共类中,需要在公共类中添加并导入 using System.Windows.Forms;
三. 导入Excel文档到DataTable中
1 //创建Datatable对象,并添加列 2 System.Data.DataTable dt = new System.Data.DataTable(); 3 for (int i = 0; i < 10; i++) 4 { 5 dt.Columns.Add(new DataColumn()); 6 } 7 8 Worksheet sheet = null; 9 foreach (Worksheet sh in excel.ActiveWorkbook.Worksheets)10 {11 if (sh.Name == "Sheet1")12 {13 sheet = sh;14 }15 if (sheet != null)16 {17 int r = 2;18 while (true)19 {20 Range rName = sheet.Cells[r, 3] as Range;21 if (rName.Text.ToString().Trim().Length == 0)22 {23 break;24 }25 DataRow row = dt.NewRow();26 27 28 for (int i = 0; i < 10; i++)29 {30 row[i] = sheet.Cells[r, i + 1].Text;31 32 }33 dt.Rows.Add(row);34 r++;35 }36 }37 }
四. 使用ADO.NET导入Excel内容
1 //连接字符串 2 string conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=‘E:/N-Tier/Lesson8/学生基本信息.xls‘;Extended Properties=‘Excel 8.0;HDR=YES;IMEX=1‘"; 3 string sql = string.Format("select * from [{0}$]", "Sheet1"); 4 DataTable dt = new DataTable(); 5 using (OleDbConnection con = new OleDbConnection(conStr)) 6 { 7 con.Open(); 8 OleDbDataAdapter odda = new OleDbDataAdapter(sql, con); 9 odda.Fill(dt);10 }11 return dt;
Asp.net中操作Excel的代码解析
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。