Я хотел бы создать таблицу Excel, используя OleDb
:Создать таблицу с параметрами
OleDbCommand oleDbCommand = new OleDbCommand();
oleDbCommand.Connection = oleDbConnection;
String commandText = "CREATE TABLE" + " [" + sheetModel.Sheet.Name + "] ";
commandText += "(";
for (int index = 0; index < spalten; index++)
{
String _header = sheetModel.DT1.Rows[heaader].ItemArray[index].ToString();
oleDbCommand.Parameters.Add(new OleDbParameter("@var" + (index + 1).ToString(), _header));
if (index > 0)
{
commandText += ", ";
}
commandText += "@var" + index.ToString() + " VARCHAR";
}
commandText += ");";
try
{
oleDbCommand.CommandText = commandText;
oleDbCommand.ExecuteNonQuery();
oleDbCommand.Parameters.Clear();
}
catch (Exception exception)
{
MessageBox.Show(exception.Message);
return;
}
Результат для таблицы Excel является,
@ var0 @ var1 @ var2 @ var3 @ var4 @ var5
, но я должен выглядеть следующим образом:
"PREIS/Stk. EURO» "Stk." "" "Produkt" "Artikelmerkmale" "Sonstige"
Где моя ошибка?
Код работает отлично подходит для вставки значений.
Я не знаю, какова ваша точная проблема прямо здесь ... Основная проблема заключается в том, что первая строка в вашей таблице не содержит правильных заголовков заголовков (* Preis *, * Stück *, * Produkt * и т. Д. .) но * @ var1-5 * вместо этого или что-то еще? – M463
Где вы указываете заголовки заголовков в строке? вы просто предоставляете @ var + (index + 1) в цикле. – learningNew
@ M463: Да, вы правы, это моя проблема! – MeerArtefakt