Asp.net中操作Excel的代码解析
一 . 使用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的代码解析的更多相关文章
- C#开发中使用Npoi操作excel实例代码
C#开发中使用Npoi操作excel实例代码 出处:西西整理 作者:西西 日期:2012/11/16 9:35:50 [大 中 小] 评论: 0 | 我要发表看法 Npoi 是什么? 1.整个Exce ...
- j2e中操作EXCEL
在j2e中操作excel,无非2种情况,在这里我贴部分代码做个例子就OK,不管是导入和导出都是操作的都是流 1,导入,浏览器输入EXCEL到java后台解析 package action; impor ...
- asp.net中导出Excel的方法
一.asp.net中导出Excel的方法: 本文转载 在asp.net中导出Excel有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上:一种是将文件直接将文件输出 ...
- ASP.net中导出Excel的简单方法介绍
下面介绍一种ASP.net中导出Excel的简单方法 先上代码:前台代码如下(这是自己项目里面写的一点代码先贴出来吧) <div id="export" runat=&quo ...
- 【译】在Asp.Net中操作PDF - iTextSharp - 利用列进行排版
原文 [译]在Asp.Net中操作PDF - iTextSharp - 利用列进行排版 在使用iTextSharp通过ASP.Net生成PDF的系列文章中,前面的文章已经讲述了iTextSharp所涵 ...
- 【译】在Asp.Net中操作PDF - iTextSharp - 绘制矢量图
原文 [译]在Asp.Net中操作PDF - iTextSharp - 绘制矢量图 在上一篇iTextSharp文章中讲述了如何将现有的图片插入PDF中并对其进行操作.但有时,你需要在PDF中绘制不依 ...
- 【译】在Asp.Net中操作PDF – iTextSharp - 操作图片
原文 [译]在Asp.Net中操作PDF – iTextSharp - 操作图片 作为我的iTextSharp系列的文章的第七篇,开始探索使用iTextSharp在PDF中操作图片,理解本篇文章需要看 ...
- 【译】在Asp.Net中操作PDF – iTextSharp - 使用表格
原文 [译]在Asp.Net中操作PDF – iTextSharp - 使用表格 使用Asp.Net生成PDF最常用的元素应该是表格,表格可以帮助比如订单或者发票类型的文档更加格式化和美观.本篇文章并 ...
- 【译】在Asp.Net中操作PDF – iTextSharp - 使用链接和书签
原文 [译]在Asp.Net中操作PDF – iTextSharp - 使用链接和书签 用户和PDF文档的交互可以通过锚(链接)和书签进行,接着我前面iTextSharp的系列文章,本篇文章主要讲通过 ...
随机推荐
- [转][Chrome]浏览器粘贴行为
<html> <head> <meta charset="UTF-8"> <title>test chrome paste imag ...
- 1076 Forwards on Weibo (30 分)
1076 Forwards on Weibo (30 分) Weibo is known as the Chinese version of Twitter. One user on Weibo ma ...
- html_常用技巧总结
============= 博客大全: 脚本之家:http://www.jb51.net/list/list_233_104.htm 红黑联盟: http://www.2cto.com/kf/yid ...
- Web 数据源
问题描述: ClassCastException:类型转换异常 问题代码: private static LinkedList<Connection> pool = (LinkedList ...
- Docker集群管理(二)—— docker+swarm+etcd+shipyard
引言 前一篇介绍如何简单的搭建一个可视化管理的docker集群,本篇将在此基础之上引入etcd发现服务. 目的 使用etcd发现服务解决swarm内置发现服务的不稳定问题.etcd采用raft算法,这 ...
- django中的 form 表单操作
form组件 1. 能做什么事? 1. 能生成HTML代码 input框 2. 可以校验数据 3. 保留输入的数据 4. 有错误的提示 1. 定义 from django ...
- mac 安装 nginx
我是用root用户装的 1.先安装PCRE库 可以在这里下载最新版,我这里使用的是8.33的版本然后在终端执行下面的命令. cd ~/Download tar xvzf pcre-8.33.tar.g ...
- 什么是 web 开发
什么是 web 开发 这几天因为工作需要,了解了一下Web development 的技术路线,来源自 en.wikipedia.org/wiki/Web_development ...
- UVA408-水的深度的伪随机数
题意: 公式sed(x) = (sed(x-1)+step)%mod,初始值sed(x)=0,输入step和mod,求解这个公式能不能生成0,1,2,3,4,5.....mod-1 解法:暴力枚举,直 ...
- 网络性能测试工具iperf
参考网站:https://www.cnblogs.com/yingsong/p/5682080.html https://docs.azure.cn/zh-cn/articles/azure-oper ...