5

我已经解决了大部分问题。我可以循环浏览工作表,我可以创建文本文件并写入它。我遇到的唯一问题实际上是从每张纸中提取文本或值。下面是我的代码,但它只为每个工作表抛出一个对象,并将这些单词写入我的文本文件而不是实际值。

System.Object[,]
System.Object[,]

我还缺少什么?我应该指出我是一个初学者程序员。

这是我到目前为止的代码:

using (StreamWriter sw = File.CreateText("ExtractedText.txt"))
{
    Excel.Application xlApp = new Excel.Application();
    Excel.Workbook thisWkBook = xlApp.Workbooks.Open(thisFile);

    foreach (Excel.Worksheet sheet in thisWkBook.Worksheets)
    {
        sw.WriteLine(sheet.UsedRange.Value);
    }
}

有任何想法吗?谢谢!

4

2 回答 2

3

像这样的,未经测试。请参阅http://dontbreakthebuild.com/2011/01/30/excel-and-c-interop-with-net-4-how-to-read-data-from-excel/

using (StreamWriter sw = File.CreateText("ExtractedText.txt"))
{
    var excelApp = new Excel.Application();
    var workBook = excelApp.Workbooks.Open(thisFile);

    foreach (var sheet in workBook.Worksheets)
    {
      foreach (var row in sheet.UsedRange.Rows)
      {
        foreach (var cell in row.Columns)
        {
          sw.Write(cell.Value + " ");
        } 
        sw.WriteLine();
      }
    }
}
于 2013-01-24T17:02:11.777 回答
1

您需要从工作表中获取数据,例如:

sw.WriteLine(sheet.Range["C5"].Value.ToString());
于 2013-01-24T16:55:41.633 回答