Member 12494414 Ответов: 2

Linqtoexcel для итерации по строкам файла excel и обработки


У меня есть файл excel, который используется для пакетной обработки XML-файла. процесс создает копию XML-файла.

В файле excel. Там есть список имен файлов.

если имя файла совпадает с предыдущей строкой, то он добавит копию в тот же файл, а если нет, то создаст новый файл с этим именем.

Я думаю о том, чтобы получить значения каждой строки и обработать их. (Я не такой, даже если это правильный способ сделать это)
Однако я знаю, как это сделать. Мне удалось получить имена столбцов первого столбца с помощью функции column names.

Что я уже пробовал:

var excelFile = new ExcelQueryFactory(excelPath);
IQueryable<Row> excelSheetValues = from workingSheet in excelFile.Worksheet(sheetName) select workingSheet;
string[] headerRow = excelFile.GetColumnNames(sheetName).ToArray(); 

OriginalGriff

И что же?
В чем проблема?
Что вы пробовали?
Где ты застрял?
Какая помощь вам нужна?
Используйте виджет" улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

#realJSOP

Это может помочь, если вы отметите тот факт, что используете библиотеку ExcelQueryFactory, а затем то, что вы на самом деле пробовали, чтобы кто-то мог дать ответ, который приведет вас туда, куда вы хотите.

2 Ответов

Рейтинг:
0

Varun Sood

Я не совсем понимаю, чего вы пытаетесь достичь. Но вы, конечно, используете C# для извлечения данных строк, используя код, подобный следующему:

private void LoadData()
        {
            OleDbConnection con = new OleDbConnection();
            try
            {
                String strConnectionString = @"Provider = Microsoft.Jet.OLEDB.4.0; Mode = 16; Data Source = " + System.Configuration.ConfigurationSettings.AppSettings["DatabaseLocation"] + "; Extended Properties = " + "\"Excel 8.0;\"";
                con.ConnectionString = strConnectionString;
                OleDbCommand cmdFetchExistingRecord = new OleDbCommand();
                cmdFetchExistingRecord.Connection = con;
                DataSet dataSet = new DataSet();
                cmdFetchExistingRecord.CommandText = "SELECT * FROM MyTable";
                OleDbDataAdapter oleDbDataAdapter = new OleDbDataAdapter(cmdFetchExistingRecord);
                con.Open();
                oleDbDataAdapter.Fill(dataSet, "hData");

                if (dataSet.Tables[0].Rows.Count > 0)
                {
                    txtAgency_State.Text = DecryptData(dataSet.Tables[0].Rows[0]["Agency_State"].ToString());
                }
                else
                {
                }
            }
            catch
            {
                MessageBox.Show("An unexpected error occurred.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                con.Close();
            }
        }


Рейтинг:
0

Maciej Los

Я бы посоветовал прочитать это: C#: запрос файлов Excel и. CSV с помощью LinqToExcel[^]

Ваш вопрос не ясен, поэтому я не могу предоставить более подробную информацию о LinqToExcel.