看到论坛里面不断有人提问关于读取excel和导入excel的相关问题。闲暇时间将我所知道的对excel的操作加以总结,现在共享大家,希望给大家能够给大家带了一定的帮助。
另外我们还要注意一些简单的问题1.excel文件只能存储65535行数据,如果你的数据大于65535行,那么就需要将excel分割存放了。2.关于乱码,这主要是字符设置问题。

1.加载Excel(读取excel内容)返回值是一个DataSet

        //加载Excel
public static DataSet LoadDataFromExcel(string filePath)
{
try
{
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
OleDbConnection OleConn = new OleDbConnection(strConn);
OleConn.Open();
String sql = "SELECT * FROM  [Sheet1$]";//可是更改Sheet名称,比如sheet2,等等
OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet OleDsExcle = new DataSet();
OleDaExcel.Fill(OleDsExcle, "Sheet1");
OleConn.Close();
return OleDsExcle;
}
catch (Exception err)
{
MessageBox.Show("数据绑定Excel失败!失败原因:" + err.Message, "提示信息",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return null;
}
}

2.写入Excel内容,参数:excelTable是要导入excel的一个table表

public static bool SaveDataTableToExcel(System.Data.DataTable excelTable, string filePath)
{
Microsoft.Office.Interop.Excel.Application app =
new Microsoft.Office.Interop.Excel.ApplicationClass();
try
{
app.Visible = false;
Workbook wBook = app.Workbooks.Add(true);
Worksheet wSheet = wBook.Worksheets[1] as Worksheet;
if (excelTable.Rows.Count > 0)
{
int row = 0;
row = excelTable.Rows.Count;
int col = excelTable.Columns.Count;
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
string str = excelTable.Rows[i][j].ToString();
wSheet.Cells[i + 2, j + 1] = str;
}
}
}
int size = excelTable.Columns.Count;
for (int i = 0; i < size; i++)
{
wSheet.Cells[1, 1 + i] = excelTable.Columns[i].ColumnName;
}
//设置禁止弹出保存和覆盖的询问提示框
app.DisplayAlerts = false;
app.AlertBeforeOverwriting = false;
//保存工作簿
wBook.Save();
//保存excel文件
app.Save(filePath);
app.SaveWorkspace(filePath);
app.Quit();
app = null;
return true;
}
catch (Exception err)
{
MessageBox.Show("导出Excel出错!错误原因:" + err.Message, "提示信息",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return false;
}
finally
{
}
}

转载的朋友请一定注明出处谢谢!http://blog.csdn.net/gisfarmer/

C#操作Excel文件(读取Excel,写入Excel)相关推荐

  1. java struts2 excel上传_文件上传方法,使用Struts2,实现Excel文件读取并写入数据库技术...

    文件上传方法,使用Struts2,实现Excel文件读取并写入数据库技术 如题:文件信息的批量导入-- 项目中经常会遇到客户的一些单表信息的数据批量导入,也就是提供定制Excel表,再把Excel表中 ...

  2. python写入excel文件 保存_python:写入 Excel 文档

    创建并保存 Excel 文档 : import openpyxl,os os.chdir('D://练习') wb=openpyxl.Workbook() wb.sheetnames 输出:['She ...

  3. 01-使用EasyExcel读取和写入Excel文件

    一.EasyExcel介绍 Java解析.生成Excel比较有名的框架有Apache poi.jxl.但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内 ...

  4. python读取excel内容和写入_Python读取和写入Excel文件

    制作Excel表 常用方法说明 Workbook类 Workbook类创建一个XlswWrite的Workbook对象,相当于创建一个excel表 And_worksheet()用来创建工作表,默认为 ...

  5. C#按Excel 规则读取、写入CSV文件,放入DataTable,再读取、写入dataGridView内。包含解析转义字符,首行判断,转换完成信号等。

    CSV文件有很多规则,主要是处理逗号(,)和双引号(")的方法不同,这里按Excel 规则解析转义字符.主要规则为: 1.有逗号(,)或开头为双引号(")的字符串在保存时前后加双引 ...

  6. python之读取、写入 excel 文件

    本文主要讨论如何使用 python 读取.写入 excel 文件.如有表述不当之处欢迎批评指正.欢迎任何形式的转载,但请务必注明出处. 目录 1. 引言 2. 读取 Excel 文件 3. 写入 Ex ...

  7. matlab读数据写入excel文件路径,MATLAB读取和写入Excel文件

    clc; clear all; [numeric_data text_data rawdata] = xlsread('aaa.xls'); headings = rawdata(1,:)  % ge ...

  8. Java使用POI读取和写入Excel指南

    Java使用POI读取和写入Excel指南 做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求: 网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃 ...

  9. Apache POI和EasyExcel 第七集:EasyExcel的基本操作,读取和写入Excel,一行足矣

    Apache POI和EasyExcel 第七集:EasyExcel的基本操作,读取和写入Excel,一行搞定 一.资源 在这里设置lombok会遇到一个问题,以前在springboot那里都没遇到, ...

  10. python3读取excel数据-Python3读取和写入excel表格数据的示例代码

    python操作excel主要用到 xlrd 和 xlwt 这两个库,xlrd读取excel表格数据, 支持 xlsx和xls格式的excel表格 :xlwt写入excel表格数据: 一.python ...

最新文章

  1. 对于访问IIS元数据库失败的解决方案
  2. win2012每次启动显示服务器管理器,win2012r2服务器管理器打开角色.功能出错
  3. Linux chmod给文件加执行X权限
  4. 死磕java_死磕JavaScript-垃圾收集机制
  5. NET问答: 如何避免在 EmptyEnumerable 上执行 Max() 抛出的异常 ?
  6. ACM之java速成
  7. 智能制造数字化车间的实施策略(上)
  8. 基于JAVA和MySQL的离散数学题库管理系统
  9. JDK7及早期版本Java HotSpot 虚拟机配置选项
  10. 机器学习(二)对航空公司客户价值进行聚类分析
  11. 使用shp裁剪县区遥感影像
  12. html 360登录自动填写,怎么让360安全浏览器记住以前登陆过的帐号和密码,每次都填很麻烦...
  13. 微信开发者工具网页h5本地开发,解决微信公众号绑定域名,本地无法调用微信api问题
  14. TP4056 充电电路学习借鉴
  15. 遮罩层 遮挡不住 flash曲线的解决办法
  16. 华为防火墙(VRRP)
  17. 一文读懂遗传算法工作原理(附Python实现)
  18. 标准正态分布函数表的程序实现
  19. 一个啥也不是的鬼畜视频创作示例
  20. 织足袜子机报道:全国棉花收购价低于去年 加工量同比大减

热门文章

  1. Retrofit2.0介绍使用封装
  2. Hey~程序员,你的桌面风格该换了
  3. BZOJ3755 : Pty爬山
  4. android安装程序后缀,【单选题】Android安装包文件简称APK,其后缀名是() A. .apk B. .exe C. .txt D. .app...
  5. SOLIDWORKS 2014官方正版功能介绍
  6. 一篇文章告诉你大数据的重要性
  7. 用gethostbyname进行域名转IP问题
  8. 蝴蝶效应、青蛙现象、鳄鱼法则、鲇鱼效应、羊群效应、刺猬法则、手表定律、破窗理论、二八定律、木桶理论、马太效应
  9. 统一社会信用代码正则表达式
  10. 快捷餐饮之店家后台订单管理实现