按行或列读取excel文档
来源:互联网 发布:mac软件大全 编辑:程序博客网 时间:2024/05/03 05:18
在项目开发中,有好多数据客户是保存在Excel表中,这些数据中可能有部分是需要导入项的数据库,于是就如有了项目题目这样的需求。即需要将excel表某些列、若干行的数据导入项目。
用C#来做,需要在项目导入
using Microsoft.Office.Interop.Excel;
具体操作代码如下:
#region 读EXCEL文件
//参数是文件名
private void ReadExelToDS(String ExcelFileName)
{
//要读取的列名放在数组中
strArr = txtCol.Text.Split(',');
//要读取的起止行放在数组中
strArr1 = txtRow.Text.Split('-');
//取起始行
iStartRow = int.Parse(strArr1[0]);
//取终止行
iEndRow = int.Parse(strArr1[1]);
sbRang = new StringBuilder(30);
//打开excel文档
Microsoft.Office.Interop.Excel.ApplicationClass app = new ApplicationClass();
app.Visible = false;
WorkbookClass w = (WorkbookClass)app.Workbooks.Open(ExcelFileName, //Environment.CurrentDirectory+
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value);
object missing = Type.Missing;
Sheets sheets = w.Worksheets;
Worksheet datasheet = null;
//取Sheet1表
foreach (Worksheet sheet in sheets)
{
if (sheet.Name == "Sheet1")
{
datasheet = sheet;
break;
}
}
if (null == datasheet)
{
MessageBox.Show(this, "没有名称为 Sheet1 的Sheet.");
return ;
}
//按单元格读取字符串
int i,j;
Range rng;
string strRange;
string[] strValue=new string[strArr.Length];
for (i = iStartRow; i <= iEndRow; i++)
{
for (j = 0; j < strArr.Length; j++)
{
sbRang.Append(strArr[j]);
sbRang.Append(i.ToString());
strRange = sbRang.ToString();
rng = datasheet.get_Range(strRange ,strRange );
strValue[j] = (rng.Text == null) ? "0" : rng.Text.ToString().Trim();
sbRang.Remove(0, sbRang.Length);
}
//将取得的数据写入对象中,然后入库
if(WriteToModel(strValue))
WriteToDataSet(sysOrgan);
}
//将数据显示在listview中
DsToListView();
//读完后,退出excel
app.Quit();
NAR(sheets);
NAR(w);
NAR(app);
app = null;
return;
}
#endregion
退出excel的方法
//释放对象计数器
private void NAR(object o)
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(o);
}
catch { }
finally
{
o = null;
}
}
这些可以随心所欲地控制数据输入,效果挺不错。
第一次写博客,希望大家多多支持!
- 按行或列读取excel文档
- excel冻结行或列
- Excel按某一列或多列合并行
- excel 移动某列或某行
- Excel:隐藏或删除多余的列或行
- java 读取Excel文档
- PIO读取excel文档
- PHP读取excel文档
- EXCEL之读取列数据
- POI读取Excel公式列
- excel逐列读取excel所有数据
- Excel的行或列数据倒序排列
- API导出EXCEL删除报表某一行或列
- API导出EXCEL删除报表某一行或列
- API导出EXCEL删除报表某一行或列
- 导出Excel或word文档
- jxl API 读取Excel文档
- JS读取Excel文档记录
- O2Security邮件安全管理网关荣获SC Magazine四星好评
- 一、STL简介
- 深入了解.NET中继承和多态(下)
- 钻石型的学习者和知识库
- C, C++, C#, ObjectiveC, D, Java, Pawn and VALA 代码格式化(美化) (uncrustify)
- 按行或列读取excel文档
- 找到了 oracle视频资料
- 自己实现一个“线程池”
- struts1.2 学习笔记(教程)
- 线程池(简单介绍及使用示例)
- web开发的一些注意点
- VC读取XML简单例子
- Tip - .NET日期时间格式字符串
- 磁盘清理