轉 C# 读取excel 二种方法
来源:互联网 发布:nginx 反向代理优化 编辑:程序博客网 时间:2024/04/28 02:55
一.
经常需要在数据库与Execl之间互导数据。net时代,ADO.NET可以使用使用Microsoft.Jet.OleDb访问访问Excel,网上已经有很多类似的资源,最典型也是最简单的可能如下:(asp.net环境)
string xlsPath = Server.MapPath("~/app_data/somefile.xls"); // 绝对物理路径
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Extended Properties=Excel 8.0;" +
"data source=" + xlsPath;
// 查询语句
string sql = "SELECT * FROM [Sheet1$]";
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(sql, connStr);
da.Fill(ds); // 填充DataSet
// 在这里对DataSet中的数据进行操作
// 输出,绑定数据
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
很简单吧?!一切就像操作数据库一样,只是需要注意的是:
1。数据提供程序使用Jet,同时需要指定Extended Properties 关键字设置 Excel 特定的属性,不同版本的Excel对应不同的属性值:
对于 Microsoft Excel 8.0 (97)、9.0 (2000) 和 10.0 (2002) 工作簿,请使用 Excel 8.0。
对于 Microsoft Excel 5.0 和 7.0 (95) 工作簿,请使用 Excel 5.0。
对于 Microsoft Excel 4.0 工作簿,请使用 Excel 4.0。
对于 Microsoft Excel 3.0 工作簿,请使用 Excel 3.0。
二.
在工程中加入相关的Com组件
代码示例:
ExcelObj=new Excel.Application();
object missing=Type.Missing;
Excel.Workbook theWorkbook = ExcelObj.Workbooks.Open(
this.textBoxExcelName.Text, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing,
missing,missing);
Excel.Sheets sheets = theWorkbook.Worksheets;
Excel.Worksheet datasheet=null;
foreach(Excel.Worksheet sheet in sheets)
{
if(sheet.Name==textBoxSheetName.Text)
{
datasheet=sheet;
break;
}
}
if(null==datasheet)
{
MessageBox.Show(this,"没有名称为"+textBoxSheetName+"的Sheet.");
return;
}
if(""==this.textBoxCellFrom.Text||""==this.textBoxCellTo.Text)
{
MessageBox.Show(this,"请输入编号起始单元格。");
return;
}
Excel.Range range=datasheet.get_Range(this.textBoxCellFrom.Text,this.textBoxCellTo.Text);
System.Array myvalues = (System.Array)(range.Cells.Value);//如果只有一个格(cellfrom==cellto)转成object即可.
string[] codes=new string[myvalues.Length];
int i=0;
for (i = 1; i <= myvalues.Length; i++)
{
if (myvalues.GetValue(i, 1) == null)
codes[i-1] = "";
else
codes[i-1] = (string)myvalues.GetValue(i, 1).ToString();
}
- 轉 C# 读取excel 二种方法
- C#读取Excel 几种方法
- C#读取Excel方法之一
- C#读取Excel方法总结
- C#读取EXCEL模版方法
- C#读取Excel的方法
- C#读取Excel的方法
- C#导入Excel|读取Excel方法总结
- C#读取Excel五种方式体会(二)
- C#读取Excel五种方式体会(二)
- C# 读取excel 几种方法的集合 读取excel多sheet
- 在c#中读取Excel文件提供两种方法
- C#读取Excel 2003 2007 三种方法
- c# 读取excel文件的三种方法
- C#读取Excel几种方法的体会
- C# 读取EXCEL文件的三种经典方法
- C#读取Excel 几种方法的体会
- C# 读取EXCEL文件的三种经典方法
- .NET中栈和堆的比较 #2
- 选择的一段对话
- .NET中栈和堆的比较 #3
- C#摄像头编程
- .NET中栈和堆的比较 #4
- 轉 C# 读取excel 二种方法
- The requested resource (...) is not available
- jBPM用户指南 第8章 Quartz Job Scheduling Framework (转载)
- jBPM用户指南 第九章 流程建模(转载)
- sql字段操作
- jBPM用户指南 第十章 上下文 (转载)
- asp.net读取EXCEL的方法(3)
- jBPM用户指南 第十一章 任务管理 (转载)
- 指针函数和函数指针