一 . 使用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. ASP.NET Web Pages:Razor

    ylbtech-.Net-ASP.NET Web Pages:Razor 1.返回顶部 1. ASP.NET Web Pages - 添加 Razor 代码 在本教程中,我们将使用 C# 和 Visu ...

  2. Jmeter接口压测

    对于各个组件的使用,建议参考官方文档 1. Jmeter参数化,从txt文件读取. 1.txt

  3. 1001 A+B Format (20 分)

    1001 A+B Format (20 分) Calculate a+b and output the sum in standard format -- that is, the digits mu ...

  4. 【C++11新特性】 nullptr关键字

    原文链接:http://blog.csdn.net/xiejingfa/article/details/50478512 熟悉C++的童鞋都知道,为了避免“野指针”(即指针在首次使用之前没有进行初始化 ...

  5. CentOS修改TimeZone

    查看: date -R +0800   修改: sudo rm -rf /etc/localtime sudo cp /usr/share/zoneinfo/America/Los_Angeles / ...

  6. Windows10环境下loadrunner11 安装

    loadrunner11安装包下载:链接:https://pan.baidu.com/s/12AVNtopwuA-UDsoxbbLgoQ 密码:deaf 链接:https://pan.baidu.co ...

  7. django-auth组件的注册,登录,登出,及验证是否已经登入。使用login的属性

    1.注册: 1.创建User(django自带的用户model)的form对象 定义form验证返回的错误提示信息 error_msg = { 'username': {'required': '用户 ...

  8. wzben的QQ空间

    实习之后没有动过博客了,后续慢慢补.

  9. 前台框架vue.js中怎样嵌入 Echarts 组件?

    目前常用的图标插件有 charts,  Echarts, highcharts.这次将介绍 Echarts 在 Vue 项目中的应用. 一.安装插件 使用 cnpm 安装 Echarts cnpm i ...

  10. 9 random模块

    1.ramdom模块主要方法 random.random()函数是这个模块中最常用的方法了,它会生成一个随机的浮点数,范围是在0.0~1.0之间. random.uniform()正好弥补了上面函数的 ...