c#中Excel数据的导入、导出
/// 导出到 Excel 文件
/// </summary>
/// <param name="fileName">含完整路径</param>
/// <param name="dataTable">含字段标题名</param>
public void ExpExcel(string fileName ,DataTable dataTable)
{
Excel.ApplicationClass apc =new Excel.ApplicationClass();
apc.Visible = false ;
Excel.Workbook wkbook = apc.Workbooks.Add( true ) ;
Excel.Worksheet wksheet = (Excel.Worksheet)wkbook.ActiveSheet;
int rowIndex = 2;
int colIndex = 1;
wksheet.get_Range(apc.Cells[1,1],apc.Cells[dataTable.Rows.Count,dataTable.Columns.Count]).NumberFormat = "@";
//取得列标题
foreach (DataColumn dc in dataTable.Columns)
{
colIndex ++;
wksheet.Cells[1,colIndex] = dc.ColumnName;
}
//取得表格中数据
foreach (DataRow dr in dataTable.Rows)
{
colIndex = 1;
foreach (DataColumn dc in dataTable.Columns)
{
if(dc.DataType == System.Type.GetType("System.DateTime"))
{
apc.Cells[rowIndex,colIndex] = "'"+(Convert.ToDateTime(dr[dc.ColumnName].ToString())).ToString("yyyy-MM-dd");
}
else
if(dc.DataType == System.Type.GetType("System.String"))
{
apc.Cells[rowIndex,colIndex] = "'"+dr[dc.ColumnName].ToString();
}
else
{
apc.Cells[rowIndex,colIndex] = "'"+dr[dc.ColumnName].ToString();
}
wksheet.get_Range(apc.Cells[rowIndex,colIndex],apc.Cells[rowIndex,colIndex]).HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft;
colIndex++;
}
rowIndex++;
}
//设置表格样式
wksheet.get_Range(apc.Cells[1,1],apc.Cells[1,dataTable.Columns.Count]).Interior.ColorIndex = 20;
wksheet.get_Range(apc.Cells[1,1],apc.Cells[1,dataTable.Columns.Count]).Font.ColorIndex = 3;
wksheet.get_Range(apc.Cells[1,1],apc.Cells[1,dataTable.Columns.Count]).Borders.Weight = Excel.XlBorderWeight.xlThin;
wksheet.get_Range(apc.Cells[1,1],apc.Cells[dataTable.Rows.Count,dataTable.Columns.Count]).Columns.AutoFit();
if(File.Exists(fileName))
{
File.Delete(fileName);
}
wkbook.SaveAs( fileName ,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange ,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);
wkbook.Close(Type.Missing,Type.Missing,Type.Missing);
apc.Quit();
wkbook = null;
apc = null;
GC.Collect();
}
/**//// <summary>
/// 从Excel导入帐户(逐单元格读取)
/// </summary>
/// <param name="fileName">完整路径名</param>
public IList ImpExcel(string fileName)
{
IList alExcel = new ArrayList();
UserInfo userInfo = new UserInfo();
Excel.Application app;
Excel.Workbooks wbs;
Excel.Worksheet ws;
app = new Excel.Application();
wbs = app.Workbooks;
wbs.Add(fileName);
ws= (Excel.Worksheet)app.Worksheets.get_Item(1);
int a = ws.Rows.Count;
int b = ws.Columns.Count;
for ( int i = 2; i < 4; i++)
{
for ( int j = 1; j < 21; j++)
{
Excel.Range range = ws.get_Range(app.Cells[i,j],app.Cells[i,j]);
range.Select();
alExcel.Add( app.ActiveCell.Text.ToString() );
}
}
return alExcel;
}
/**//// <summary>
/// 从Excel导入帐户(新建oleDb连接,Excel整表读取,适于无合并单元格时)
/// </summary>
/// <param name="fileName">完整路径名</param>
/// <returns></returns>
public DataTable ImpExcelDt (string fileName)
{
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + fileName + ";Extended Properties=Excel 8.0" ;
OleDbConnection myConn = new OleDbConnection ( strCon ) ;
string strCom = " SELECT * FROM [Sheet1$] " ;
myConn.Open ( ) ;
OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;
DataSet myDataSet = new DataSet ( ) ;
myCommand.Fill ( myDataSet , "[Sheet1$]" ) ;
myConn.Close ( ) ;
DataTable dtUsers = myDataSet.Tables[0];
return dtUsers;
}
dataGrid中显示:
DataGrid1.DataMember= "[Sheet1$]" ;
DataGrid1.DataSource = myDataSet ;
转载于:https://www.cnblogs.com/liuzhixian/articles/851983.html
c#中Excel数据的导入、导出相关推荐
- 循序渐进开发WinForm项目(5)--Excel数据的导入导出操作
随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到C#开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了. 其实也许我 ...
- VB中Excel 2010的导入导出操作
VB中Excel 2010的导入导出操作 编写人:左丘文 2015-4-11 近来这已是第二篇在讨论VB的相关问题,今天在这里,我想与大家一起分享一下在VB中如何从Excel中导入数据和导出数据到Ex ...
- docker导入MySQL文件_Docker容器中Mysql数据的导入/导出详解
前言 Mysql数据的导入导出我们都知道一个mysqldump命令就能够解决,但如果是运行在docker环境下的mysql呢? 解决办法其实还是用mysqldump命令,但是我们需要进入docker的 ...
- C#实现EXCEL数据的导入导出
用户经常会有这种需求,可以将excel中的数据自动导入到数据库,而不用费时费力地手动添加,或者将某些数据导出存放到excel表格中. 一.excel导入 实现思路:先将excel文件上传到服务器(文件 ...
- mysql数据库中excel数据的导入与导出
mysql数据库数据与excel数据在python大数据中是比较常见的 在导入导出之前必须先配置好路径权限 1.查看导入导出限制路径 # 查看路径 SHOW VARIABLES LIKE '%secu ...
- Python实现Excel与Word文件中表格数据的导入导出
封面图片:<Python程序设计实验指导书>(ISBN:9787302525790),董付国,清华大学出版社 图书详情(京东): ============= 问题描述:Excel文件&qu ...
- PHP利用phpExcel实现Excel数据的导入导出
phpExcel包的下载地址:http://download.csdn.net/detail/kesixin/9920920 首先先说一下,这段例程是使用在Thinkphp的开发框架上,要是使用在其他 ...
- C#winform中操作Excel数据,导入导出功能
命名空间 using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; us ...
- easyexcel导入时读不到数据_SpringBoot中EasyExcel实现Excel文件的导入导出
前言 在我们日常的开发过程中经常会使用Excel文件的形式来批量地上传下载系统数据,我们最常用的工具是Apache poi,但是如果数据到底上百万时,将会造成内存溢出的问题,那么我们怎么去实现百万数据 ...
最新文章
- [转]Python 命令行参数和getopt模块详解
- 任天堂经典拳击游戏可以体感操作了,打开网页就能玩,击败泰森不是梦
- 关于卡特兰数及典型例题
- SQL Server2005重装Performance Monitor Counter 的问题解决
- sql server 2005 T-SQL @@TRANCOUNT (Transact-SQL)
- TensorLayer MNIST
- angularjs1-5,class,
- LeetCode 417. 太平洋大西洋水流问题(BFS/DFS)
- 访问 JSON 对象的值
- 怎样搭建本地svn服务器环境-轻松掌握版本管理
- c语言如何制作多线程序,c语言中如何创建多线程。最好有一个例子,谢谢!!...
- 《推荐系统笔记(八)》GBDT和XgBoost的原理(内含详细数学推导)
- Android SwipeRefreshLayout 实现下拉刷新1
- 【LeetCode】【字符串】题号:*125. 验证回文串
- 完美数简介及算法分析
- 第22节项目6-定期存款利息计算器
- 红米k50至尊版参数 红米k50至尊版评测值得买吗
- 快速排序算法quickSort
- 符号函数sign(x)
- 3个老鼠确定8个瓶子哪瓶有毒
热门文章
- alot英文怎么读_【乐学】“原来如此”用英文怎么说?
- php 异常错误信息用处,关于PHP中异常错误的处理详细介绍
- 大学计算机二级培训蹭课,本人在复旦大学蹭课总结的一点小小的经验
- java二分查找递归_java学习之—递归实现二分查找法
- 获取该字符串第N次出现的位置
- 公司创始人、董事长、CEO和总裁谁更大,有什么区别?
- mysql 安装测试ok_tpcc-mysql安装测试与使用的实例教程
- 类的6个默认成员函数:构造函数、析构函数、拷贝构造函数、重载运算符、三/五法则
- Python之数据重塑——【stack()方法和unstack()方法、pivot()方法】
- VIM使用系列之一——配置VIM下编程和代码阅读环境