读书人

c#读取Excel 求解 多谢各位啦

发布时间: 2012-01-11 22:28:46 作者: rapoo

c#读取Excel 求解 谢谢各位啦
Excel.Application excel= new Excel.Application();
object oMissing = System.Reflection.Missing.Value;

excel.Application.Workbooks.Open(filePath,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing);

Excel.Workbook book = excel.Workbooks[1];
Excel.Worksheet xlSheet=(Excel.Worksheet)book.Worksheets[1];

Label1.Text=(xlSheet.get_Range( "A1 ",Type.Missing)).ToString();
Label1.Text = xlSheet.Cells[8,1].ToString();


调试到Excel.Workbook book = excel.Workbooks[1];这一行时候用监视看显示“book.Worksheets.Count错误:“book.Worksheets”不存在 "

是怎么回事啊 我的文件路径是绝对路径没有错错误阿,各位大虾Help!!


[解决办法]
sofa!!!
如果可以请将程序发给我,这个代码看不清楚
[解决办法]
我用oledb读取excel,我的方法如下:
using System;
using System.Data;
using System.Data.OleDb;

namespace ytepc_qhb
{
/// <summary>
/// Excel 的摘要说明。
/// </summary>
public class Excel
{
public Excel()
{
//
// TODO: 在此处添加构造函数逻辑
//

}

public DataSet SelectExcel(string path,string condition)
{
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0; " +
"Data Source= "+path+ "; "+
"Extended Properties=Excel 8.0; ";
OleDbConnection conn = new OleDbConnection(strConn);
OleDbDataAdapter myCommand = new OleDbDataAdapter( "select * FROM [sheet1$] "+condition, strConn);
DataSet myDataSet = new DataSet();
myCommand.Fill(myDataSet);
return myDataSet;
}

}
}

[解决办法]
using System.Data.OleDb;
using System.Reflection;
using System.Diagnostics;
using System.Collections;
using System.Runtime.InteropServices;

private void GetRow(string FilePath)
{
try
{
//创建Application对象
Microsoft.Office.Interop.Excel.Application xApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
xApp.Visible = false;
//得到WorkBook对象, 可以用两种方式之一: 下面的是打开已有的文件
Microsoft.Office.Interop.Excel.Workbook xBook = xApp.Workbooks._Open(FilePath,
Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
//xBook=xApp.Workbooks.Add(Missing.Value);//新建文件的代码
//指定要操作的Sheet,两种方式:
Microsoft.Office.Interop.Excel.Worksheet xSheet = (Microsoft.Office.Interop.Excel.Worksheet)xBook.Sheets[1];
//Excel.Worksheet xSheet=(Excel.Worksheet)xApp.ActiveSheet;
//读取数据,通过Range对象
//Microsoft.Office.Interop.Excel.Range rng1 = xSheet.get_Range( "A1 ", Type.Missing);
//Console.WriteLine(rng1.Value2);

//读取,通过Range对象,但使用不同的接口得到Range
// string ToAddress = " ", ToCompany = " ", ToPerson = " ", ToZip = " ";
string CommentID = string.Empty;


string IsReal = string.Empty;
int MaxValidRows = 0;
for (int j = 2; j < xSheet.Rows.Count; j++)
{
try
{
Microsoft.Office.Interop.Excel.Range rng0 = (Microsoft.Office.Interop.Excel.Range)xSheet.Cells[j, 1];
if (rng0.Value2.ToString() != " ")
MaxValidRows += 1;
}
catch { break; }
}
SqlConnection conn = Conn();
conn.Open();
for (int i = 2; i <= MaxValidRows + 1; i++)
{
try
{
Microsoft.Office.Interop.Excel.Range rng1 = (Microsoft.Office.Interop.Excel.Range)xSheet.Cells[i, 1];
CommentID = rng1.Value2.ToString();
}
catch { }
try
{
Microsoft.Office.Interop.Excel.Range rng2 = (Microsoft.Office.Interop.Excel.Range)xSheet.Cells[i, 10];
if(rng2.Value2==null)
{
IsReal = "2 ";
}
else if (rng2.Value2.ToString() == "真实 ")
{
IsReal = "1 ";
}
}
catch
{ IsReal = "2 "; }
UpdateData(conn, IsReal, CommentID); //update database
}
xApp.Quit(); //这一句是非常重要的,否则Excel对象不能从内存中退出
xApp = null;
KillProcess( "EXCEL ");
//Start Preview
// Print();
}
catch
{
MessageBox.Show( "请导入符合格式的Excel文件 ");
}
MessageBox.Show( "更新完毕,谢谢使用! ");
}

[解决办法]
学习……

[解决办法]
excel.Application.Workbooks.Open(filePath,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing);

Excel.Workbook book = excel.Workbooks[1];
Excel.Worksheet xlSheet=(Excel.Worksheet)book.Worksheets[1];

改为
Excel.Application xApp = new Excel.ApplicationClass();
Excel.Workbook book = xApp.Workbooks.Open(filePath,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing);
Excel.Worksheet xlSheet=(Excel.Worksheet)book.Worksheets[1];

读书人网 >C#

热点推荐