У меня есть программа, которая в настоящее время печатает лист Excel в консоли, но я хотел бы иметь возможность сохранить эту информацию, чтобы затем поместить ее в таблицу SQL.
Как бы я использовал для этого наборы и наборы?
У меня есть 2 класса.
Program.cs
class Program {
private static void Main(string[] args) {
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"C:\Users\praktikant\source\Console\KPIimport\KPIimport\KPI_Bestyrelsen.xlsx");
Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
Excel.Range xlRange = xlWorksheet.UsedRange;
int rowCount = xlRange.Rows.Count;
int colCount = xlRange.Columns.Count;
object[,] valueArray = (object[,])xlRange.get_Value(Excel.XlRangeValueDataType.xlRangeValueDefault);
String[,] arr = new String[rowCount, colCount];
for (int i = 1; i <= rowCount; i++) {
for (int j = 1; j <= colCount; j++) {
if (j == 1)
Console.Write("\r\n");
if (xlRange.Cells[i, j] != null && xlRange.Cells[i, j].Value2 != null) {
//Console.Write(xlRange.Cells[i, j].Value2.ToString() + "\t");
arr[i, j] = valueArray[i, j].ToString();
Console.WriteLine(arr[i, j]);
}
}
}
//cleanup
GC.Collect();
GC.WaitForPendingFinalizers();
Marshal.ReleaseComObject(xlRange);
Marshal.ReleaseComObject(xlWorksheet);
//close and release
xlWorkbook.Close();
Marshal.ReleaseComObject(xlWorkbook);
//quit and release
xlApp.Quit();
Marshal.ReleaseComObject(xlApp);
}
}
и Items.cs, которые я не использовал, потому что понятия не имею
class Items {
public DateTime Dato { get; set; }
public string Portal { get; set; }
public decimal Home_oms { get; set; }
}