一 . 使用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:帮助器

    ylbtech-.Net-ASP.NET Web Pages:帮助器 1.返回顶部 1. ASP.NET Web Pages - 帮助器 Web 帮助器大大简化了 Web 开发和常见的编程任务. AS ...

  2. Find substring with K distinct characters

    Given a string and number K, find the substrings of size K with K distinct characters. If no, output ...

  3. 1002 A+B for Polynomials (25 分)

    This time, you are supposed to find A+B where A and B are two polynomials. Input Specification: Each ...

  4. Linux性能分析 vmstat基本语法

    vmstat      vmstat 统计虚拟内存信息,可以对操作系统的proc.memory.CPU.IO等信息进行统计以呈现给用户.   根据操作系统的不同,vmstat的输出结果会有不同.大家可 ...

  5. [UE4]UE4中的常见类

    一.Actor:可以放在世界中物体 二.Pawn:可以接受Controller输入的Actor 三.Character:是一个可以行走.跑.跳等行为的Pawn 四.Controller:没有物理表现的 ...

  6. ni_set()函数的使用 以及 post_max_size,upload_max_filesize的修改方法

    Apache服务器处理: ini_set('display_errors', 'Off');ini_set('memory_limit', -1); //-1 / 10240Mini_set(&quo ...

  7. Spark学习笔记4:数据读取与保存

    Spark对很多种文件格式的读取和保存方式都很简单.Spark会根据文件扩展名选择对应的处理方式. Spark支持的一些常见文件格式如下: 文本文件 使用文件路径作为参数调用SparkContext中 ...

  8. python之路之装饰器

    一 装饰器进化之路1) import time def index(): start_time=time.time() time.sleep() print('welcome to index wor ...

  9. node.js入门基础

    内容: 1.node.js介绍 2.node.js内置常用模块 3.node.js数据交互 一.node.js介绍 (1)node.js特点 与其他语言相比,有以下优点: 对象.语法和JavaScri ...

  10. selenium+python自动化89-用例不通过的时候发送邮件

    前言 实现需求:当测试用例全部通过的时候,不发邮件,当用例出现Error或Failure的时候发送邮件 解决思路:生成html测试报告后,用bs4解析html页面,写个函数判断页面上是都有不通过的记录 ...