Я хотел бы выбрать все данные из листа в excel и затем создать новый файл excel с помощью кода C#, а затем вставить эти данные в новый файл excel, который был создан. У меня есть данные для выбора кода из excel ниже, но я знаю, как писать код, создавая новый файл excel и вставляя данные, которые я выбрал для нового excel.выберите все данные из excel и вставьте данные в новый файл excel с помощью C# oledb
public DataTable bindExcel(string filename, string filetype, string path)
{
DataTable tbl = new DataTable();
if (filename != "")
{
string connString = "";
switch (filetype)
{
case ".xls": //Excel 97-03
connString = ConfigurationManager.ConnectionStrings["Excel03ConString"].ConnectionString;
break;
case ".xlsx": //Excel 07
connString = ConfigurationManager.ConnectionStrings["Excel07ConString"].ConnectionString;
break;
}
connString = String.Format(connString, path, "Yes");
OleDbConnection conn = new OleDbConnection(connString);
if (conn.State == ConnectionState.Closed)
conn.Open();
DataTable dtExcelSchema;
dtExcelSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string SheetName = "";
SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
string query = "SELECT * From [" + "DATA$" + "]";
OleDbCommand cmd = new OleDbCommand(query, conn);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds, "Plan");
tbl = ds.Tables["Plan"];
da.Dispose();
conn.Close();
conn.Dispose();
}
return tbl;
}
oh ... извините, если забыть описание Я не использую Microsoft Office Interop. У вас есть другой способ создать файл excel. –
Я не думаю, что это возможно без использования какой-либо внешней библиотеки ... Единственное, что я могу придумать, это создать файл csv. Я думаю, что Excel ее откроет. – Pikoh
Другим вариантом было бы сохранить пустой файл excel в качестве шаблона, скопировать его в другой файл с нужным именем и заполнить его oledb. Я думаю, это тоже сработает – Pikoh