Перебирайте листы Excel и сохраняйте текст в файл TXT с помощью C#
У меня большая часть проблемы решена. Я могу перебирать листы, создавать текстовый файл и записывать в него. Единственная проблема, с которой я столкнулся, - это извлечение текста или значений из каждого листа. Ниже приведен код, который у меня есть, но он только выбрасывает объект на лист и записывает эти слова в мой текстовый файл вместо фактических значений.
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);
}
}
Есть идеи? Спасибо!
2 ответа
Решение
Как то так, не проверял. См. 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();
}
}
}
Вам нужно получить данные с листа, например:
sw.WriteLine(sheet.Range["C5"].Value.ToString());