Чтение определенных столбцов из файлов Excel с C # - PullRequest
0 голосов
/ 05 февраля 2009

Я хочу прочитать некоторые файлы Excel и преобразовать их в свой собственный шаблон Excel. Я хочу читать столбец B в каждой строке (B1, B2, B3 ... происходит так).

Если в этом столбце есть число; в B3 есть число типа «1,2,3,4,5,6,7,8,9», тогда я получу всю эту строку и перенесу ее в массив [i]. Если в B4 есть число «5», то он получит всю эту строку и перенесет ее в массив [i]. Если в соответствующей строке нет номера, он перейдет к следующей строке.

Он продолжит читать конец файла Excel. И я хочу взять этот массив и записать в новый файл Excel.

Ответы [ 2 ]

2 голосов
/ 06 февраля 2009
  1. Загрузите и установите основные сборки взаимодействия Office 2003 на свой компьютер
  2. Создайте Visual Studio Project и добавьте ссылку на «Microsoft.Office.Interop.Excel.dll» из GAC.
  3. Теперь вы можете написать этот код для чтения данных из любого файла Excel

Пример:

using Excel = Microsoft.Office.Interop.Excel;

string pathOfExcelFile = "C:\\MyDataFile.xls";
Excel.Application excelApp = new Excel.Application();

excelApp.DisplayAlerts = false; //Don't want Excel to display error messageboxes  
Excel.Workbook workbook = excelApp.Workbooks.Open(pathOfExcelFile, Type.Missing, Type.Missing, Type.Missing, Type.Missing,                                            Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,                      Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); //This opens the file
Excel.Worksheet sheet = workbook.get_Item(1); //Get the first sheet in the file
Excel.Range bColumn = sheet.get_Range("B", null);

List<string> dataItems = new List<string>();

foreach (object o in bColumn) 
{
     Excel.Range row = o as Excel.Range;
     string s = row.get_Value(null);
     dataItems.Add(s);
}
0 голосов
/ 06 февраля 2009

Пожалуйста, посмотрите на

http://support.microsoft.com/kb/306572

и

http://support.microsoft.com/kb/306023/EN-US/

Вы можете реализовать свою идею ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...