Как читать определенные столбцы данных excel в приложении C# windows и хранить их в базе данных SQL
Здесь я хочу получить только определенные столбцы данных из excel(.csv), где у меня есть 60 столбцов и 20 строк, из которых мне нужно извлечь 6 столбцов и сохранить их в базе данных sql с помощью приложения c# windows.
Что я уже пробовал:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; using System.Data.SqlClient; using System.Runtime.InteropServices; using ExcelApp = Microsoft.Office.Interop.Excel; namespace WindowsFormsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { ExcelApp.Application excelApp = new ExcelApp.Application(); if (excelApp == null) { Console.WriteLine("Excel is not installed!!"); return; } ExcelApp.Workbook excelBook = excelApp.Workbooks.Open("filepath"); ExcelApp._Worksheet excelSheet = excelBook.Sheets[1]; ExcelApp.Range excelRange = excelSheet.Columns[1]; ExcelApp.Range excelRange1 = excelSheet.Columns[3]; ExcelApp.Range excelRange2 = excelSheet.Columns[4]; ExcelApp.Range excelRange3 = excelSheet.Columns[6]; ExcelApp.Range excelRange4 = excelSheet.Columns[7]; ExcelApp.Range excelRange5 = excelSheet.Columns[28]; ExcelApp.Range findRange; string strToFind = "DealerID"; string strToFind1 = "StockNo"; string strToFind2 = "VIN"; string strToFind3 = "Make"; string strToFind4 = "Model"; string strToFind5 = "DealerName"; string valueInColumnA1; string valueInColumnC1; string valueInColumnD1; string valueInColumnF1; string valueInColumnG1; string valueInColumnAB1; findRange = excelRange.Find(strToFind); findRange = excelRange1.Find(strToFind1); findRange = excelRange2.Find(strToFind2); findRange = excelRange3.Find(strToFind3); findRange = excelRange4.Find(strToFind4); findRange = excelRange5.Find(strToFind5); if (findRange == null) { MessageBox.Show("Do not find value " + strToFind + "in Column A1"); } else { valueInColumnA1 = excelSheet.Cells[findRange.Column,1].VALUE; valueInColumnC1 = excelSheet.Cells[findRange.Column,3].VALUE; valueInColumnD1 = excelSheet.Cells[findRange.Column,4].VALUE; valueInColumnF1 = excelSheet.Cells[findRange.Column,6].VALUE; valueInColumnG1 = excelSheet.Cells[findRange.Column,7].VALUE; valueInColumnAB1 = excelSheet.Cells[findRange.Column,28].VALUE; MessageBox.Show(strToFind + " is in A1" + findRange.Column + "\n" + "Value in Column A1 is :" + valueInColumnA1 + "\n" + "Value in Column C1 is :" + valueInColumnC1 + "\n" + "Value in Column D1 is :" + valueInColumnD1 + "\n" + "Value in Column F1 is :" + valueInColumnF1 + "\n" + "Value in Column G1 is :" + valueInColumnG1 + "\n" + "Value in Column AB1 is :" + valueInColumnAB1); } } } }
До сих пор я пытался это сделать.
заранее спасибо.
Richard MacCutchan
В чем же вопрос?
Srilekha Bolamoni
просто я хочу получить определенные данные столбцов из excel(у меня есть данные в файле excel.csv из 60 столбцов и 20 строк) в c# с помощью приложения windows, пожалуйста, помогите мне, если вы можете, потому что я новичок начал учиться самостоятельно, приближаясь к веб-сайтам.
Заранее спасибо
Richard MacCutchan
Мы не сможем помочь вам, пока вы не скажете нам, в чем проблема.
Srilekha Bolamoni
Я не могу извлечь определенные столбцы данных, но могу прочитать все данные(не по приведенному выше коду, я написал его по-другому, чтобы прочитать это) из 60 столбцов и 20 строк, но я хочу прочитать только 6 конкретных столбцов и 20 строк в c#
CHill60
Где находится код, который вы используете, чтобы попытаться сохранить его в базе данных?
В чем заключается ваша реальная проблема?
Srilekha Bolamoni
На самом деле я начинаю учиться самостоятельно, во-первых, я не могу получить определенные данные столбца, а затем только я могу сохранить их в базе данных правильно.
CHill60
Простите, что не понял вашего замечания.
У вас есть некоторые данные из excel - по крайней мере, похоже, что это то, что делает ваш код.
Я думаю, вы хотите сохранить его в базе данных. Но вы не показали нам свой код и не сказали в чем проблема
Srilekha Bolamoni
На самом деле я могу читать файл excel, который состоит из 60 столбцов и 20 строк, но я хочу прочитать только 6 конкретных столбцов из этого и 20 строк(и приведенный выше код написан для этого, но он так не работает).
Richard MacCutchan
Смотрите мое решение ниже.
Srilekha Bolamoni
Игнорируйте, как сохранить его в базе данных, но сначала дайте мне несколько советов, чтобы извлечь определенные столбцы из Excel в приложении c# windows, я пробовал то же самое в приведенном выше коде, но это не работает.Я дал путь к файлу, и из него я хочу прочитать некоторые столбцы(то есть только 6 столбцов из 60 столбцов)