一 . 使用Excel对象模型创建Excel文档:
1.创建简单的文档

 try
{
3   //创建Excel程序对象
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
//设置创建WorkBook时,WorkBook包含表单个数
excel.SheetsInNewWorkbook = ;
//创建WorkBook
excel.Workbooks.Add(); //创建第一个工作表
   Worksheet sheet = excel.ActiveWorkbook.Sheets[];
   //Worksheet sheet = (Worksheet)excel.ActiveWorkbook.Worksheets[1];    //给工作表设置名称
sheet.Name = "Student";
sheet.Cells[, ] = txtName.Text;
sheet.Cells[, ] = txtAge.Text;
sheet.Cells[, ] = txtHabit.Text; //显示Excel
excel.Visible = true;
//现场休眠2000毫秒
System.Threading.Thread.Sleep(); //保存当前活动的WorkBook
excel.ActiveWorkbook.SaveAs(
    //Environment.CurrentDirectory + "/test.xls",//文件名
    "f:/test.xls",
    XlFileFormat.xlWorkbookNormal //保存文件的格式
  ); //关闭当前活动的WorkBook
excel.ActiveWorkbook.Close();
//退出Excel应用程序
excel.Quit();
}
catch (Exception ex)
{ throw new Exception(ex.Message);
}

2.设置文档格式

 //设置字体样式
Range ranRow = sheet.Range[sheet.Cells[, ], sheet.Cells[, ]];
ranRow.Font.Bold = true;//字体加粗
ranRow.Font.Color = Color.SeaGreen;//字体颜色
//单元格操作
ranRow.HorizontalAlignment=XlHAlign.xlHAlignCenter;//对齐方式
ranRow .Interior.Color = Color.SeaGreen;//内边框样式
range.MergeCells = true;//合并单元格
//边框样式:
ranBorder.BorderAround(XlLineStyle.xlContinuous, XlBorderWeight.xlThick);//区域外边框样式
range.Borders.LineStyle = XlLineStyle.xlDouble;//内边框样式
//设置身份证号码,日期显示格式
range.NumberFormat = "";
range.NumberFormatLocal = "yyyy-m-d";

二. 使用对象模型导出DataGridView数据到Excel文档
  1.直接在窗体设计界面代码使用DataGridView作为数据源,直接使用显示出来的值填充Excel表格。
  2.将DataGridView作为参数,传递到公共类中,需要在公共类中添加并导入 using System.Windows.Forms;
三. 导入Excel文档到DataTable中

         //创建Datatable对象,并添加列
System.Data.DataTable dt = new System.Data.DataTable();
for (int i = ; i < ; i++)
{
dt.Columns.Add(new DataColumn());
} Worksheet sheet = null;
foreach (Worksheet sh in excel.ActiveWorkbook.Worksheets)
{
if (sh.Name == "Sheet1")
{
sheet = sh;
}
if (sheet != null)
{
int r = ;
while (true)
{
Range rName = sheet.Cells[r, ] as Range;
if (rName.Text.ToString().Trim().Length == )
{
break;
}
DataRow row = dt.NewRow(); for (int i = ; i < ; i++)
{
row[i] = sheet.Cells[r, i + ].Text; }
dt.Rows.Add(row);
r++;
}
}
}

四. 使用ADO.NET导入Excel内容

         //连接字符串
string conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='E:/N-Tier/Lesson8/学生基本信息.xls';Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";
string sql = string.Format("select * from [{0}$]", "Sheet1");
DataTable dt = new DataTable();
using (OleDbConnection con = new OleDbConnection(conStr))
{
con.Open();
OleDbDataAdapter odda = new OleDbDataAdapter(sql, con);
odda.Fill(dt);
}
return dt;

Asp.net中操作Excel的代码解析的更多相关文章

  1. C#开发中使用Npoi操作excel实例代码

    C#开发中使用Npoi操作excel实例代码 出处:西西整理 作者:西西 日期:2012/11/16 9:35:50 [大 中 小] 评论: 0 | 我要发表看法 Npoi 是什么? 1.整个Exce ...

  2. j2e中操作EXCEL

    在j2e中操作excel,无非2种情况,在这里我贴部分代码做个例子就OK,不管是导入和导出都是操作的都是流 1,导入,浏览器输入EXCEL到java后台解析 package action; impor ...

  3. asp.net中导出Excel的方法

    一.asp.net中导出Excel的方法: 本文转载 在asp.net中导出Excel有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上:一种是将文件直接将文件输出 ...

  4. ASP.net中导出Excel的简单方法介绍

    下面介绍一种ASP.net中导出Excel的简单方法 先上代码:前台代码如下(这是自己项目里面写的一点代码先贴出来吧) <div id="export" runat=&quo ...

  5. 【译】在Asp.Net中操作PDF - iTextSharp - 利用列进行排版

    原文 [译]在Asp.Net中操作PDF - iTextSharp - 利用列进行排版 在使用iTextSharp通过ASP.Net生成PDF的系列文章中,前面的文章已经讲述了iTextSharp所涵 ...

  6. 【译】在Asp.Net中操作PDF - iTextSharp - 绘制矢量图

    原文 [译]在Asp.Net中操作PDF - iTextSharp - 绘制矢量图 在上一篇iTextSharp文章中讲述了如何将现有的图片插入PDF中并对其进行操作.但有时,你需要在PDF中绘制不依 ...

  7. 【译】在Asp.Net中操作PDF – iTextSharp - 操作图片

    原文 [译]在Asp.Net中操作PDF – iTextSharp - 操作图片 作为我的iTextSharp系列的文章的第七篇,开始探索使用iTextSharp在PDF中操作图片,理解本篇文章需要看 ...

  8. 【译】在Asp.Net中操作PDF – iTextSharp - 使用表格

    原文 [译]在Asp.Net中操作PDF – iTextSharp - 使用表格 使用Asp.Net生成PDF最常用的元素应该是表格,表格可以帮助比如订单或者发票类型的文档更加格式化和美观.本篇文章并 ...

  9. 【译】在Asp.Net中操作PDF – iTextSharp - 使用链接和书签

    原文 [译]在Asp.Net中操作PDF – iTextSharp - 使用链接和书签 用户和PDF文档的交互可以通过锚(链接)和书签进行,接着我前面iTextSharp的系列文章,本篇文章主要讲通过 ...

随机推荐

  1. HTML5: SVG (可缩放矢量图形)

    ylbtech-HTML5: SVG (可缩放矢量图形) 可缩放矢量图形是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式.它由万维网联盟制定,是一个开放标准. 1. ...

  2. 【转载】 java利用snmp4j包来读取snmp协议数据(Manager端)

    https://www.cnblogs.com/xdp-gacl/p/4187089.html http://doc.okbase.net/yuanfy008/archive/265663.html ...

  3. 终端直接执行py文件,不需要python命令

    然后给脚本文件运行权限,方法(1)chmod +x ./*.py方法(2)chmod 755 ./*.py (777也无所谓啦) 这个命令不去调整,会出现permission denied的错误终端直 ...

  4. Fragment之介绍(转)

    http://www.cnblogs.com/plokmju/p/3239265.html 前言 开门见山开篇名义,本篇博客将讲解一下Android中Fragment的内容,必要的地方会提供相应的演示 ...

  5. ECCV 2018 | 旷视科技提出统一感知解析网络UPerNet,优化场景理解

    全球计算机视觉三大顶会之一 ECCV 2018(European Conference on Computer Vision)即将于 9 月 8 -14 日在德国慕尼黑拉开帷幕.届时,旷视首席科学家孙 ...

  6. 开发组件:Systemd

    Systemd 入门教程:命令篇 http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

  7. 求m-n之间数字的和

    unction sum(m,n){         var sum = 0;         if(m>n){                 for(var i=n; i<=m; i++ ...

  8. [Flutter] TextField 中只允许输入合法的小数

    的Flutter的TextField中,我们可以通过设置inputFormatters来过滤和限制输入的内容. 下面是一个自定义的 TextInputFormatter,可以限制用户只能输入有效的整数 ...

  9. uva-10194-排序

    题意: 如果一个队伍的得分比对方高,那么就赢得这场游戏,很明显,如果得分低那就是输了,如果俩个队伍的得分一样,那么就是平局,赢得比较获得3个点的得分,平手1个点的得分,输了0分.排序规则如下1:得分点 ...

  10. tomcat启动项目 端口占用

    转自:https://blog.csdn.net/u010427935/article/details/77297529 有时候电脑比较卡,项目比较大的情况下,eclipse没有完全停止tomcat的 ...