本人现有代码如下 Excel.Application app = null;
Excel.Workbook book = null;
Excel.Worksheet sheet= null; string FileName="c:\\Book1.xls";
try
{
app = new Excel.Application();
app.DisplayAlerts = false;
app.Visible = false;
app.WindowState = Excel.XlWindowState.xlMinimized; book = app.Workbooks.Open(FileName,0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, 1, 0);
sheet = (Excel.Worksheet)book.Worksheets[1];

int a=sheet.Cells.Rows.Count;
int b=sheet.Cells.Columns.Count; }
catch(Exception ex)
{
Console.WriteLine(ex.ToString());
}这是打开C盘根目录下Book1.xls文件
然后给a付值为所打开这个excel文件的总共行
和给b付值为所打开这个excel文件的总共列但最后结果给a付值为65536
b付值为256明显是错误的不知道什么原因,各位有经验的帮忙解答一下,谢谢
另外,我要打开的就是sheet1

解决方案 »

  1.   

    你取得的是Excel的最大行数和列数
    改为:
    int a= sheet.UsedRange.Rows.Count;
    int b= sheet.UsedRange.Columns.Count;
      

  2.   

    继续求解 Excel.Application app = null;
    Excel.Workbook book = null;
    Excel.Worksheet sheet= null; string FileName="c:\\Book1.xls";
    try
    {
    app = new Excel.Application();
    app.DisplayAlerts = false;
    app.Visible = false;
    app.WindowState = Excel.XlWindowState.xlMinimized; book = app.Workbooks.Open(FileName,0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, 1, 0);
    sheet = (Excel.Worksheet)book.Worksheets[1];

    int a=sheet.Cells.Rows.Count;
    int b=sheet.Cells.Columns.Count; for (int i=0;i<a;i++)
    {
    for (int j=0;j<b;i++)
    {
    MessageBox.Show(Sheet.UsedRange.Cells(i,j));
    }
    } }
    catch(Exception ex)
    {
    Console.WriteLine(ex.ToString());
    }
    我获得单元格内容写为Sheet.UsedRange.Cells(i,j),但报错误“Excel.Range.Cells”表示“属性”,此处应为“方法”啥意思?
      

  3.   

    Excel.Application app = null;
    Excel.Workbook book = null;
    Excel.Worksheet sheet= null; string FileName="c:\\Book1.xls";
    try
    {
    app = new Excel.Application();
    app.DisplayAlerts = false;
    app.Visible = false;
    app.WindowState = Excel.XlWindowState.xlMinimized; book = app.Workbooks.Open(FileName,0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, 1, 0);
    sheet = (Excel.Worksheet)book.Worksheets[1];

    int a=sheet.UsedRange.Rows.Count;
    int b=sheet.UsedRange.Columns.Count; for (int i=0;i<a;i++)
    {
    for (int j=0;j<b;i++)
    {
    MessageBox.Show(Sheet.UsedRange.Cells(i,j).ToString());
    }
    } }
    catch(Exception ex)
    {
    Console.WriteLine(ex.ToString());
    }
      

  4.   

    写成这样
    MessageBox.Show(pbSheet.UsedRange.Cells[i,j].ToString());程序可以运行,但抛出catch{"HRESULT 中的异常:0x800A03EC。" }