[英]C# Import data from specified Excel sheet into SQL Server
I have some C# code to import Excel into a database, but it can only import data from the first sheet ( Sheet1
) into the SQL Server database. 我有一些C#代码可将Excel导入数据库,但它只能将数据从第一张工作表( Sheet1
)导入SQL Server数据库。 I want to import data from the second sheet ( Sheet2
) of Excel file into the database. 我想将数据从Excel文件的第二张纸( Sheet2
)导入数据库中。 Please modify the code to teach me how to do that. 请修改代码,教我如何执行此操作。
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog ope = new OpenFileDialog();
ope.Filter = "Excel Files|*.xls;*.xlsx;*slsm";
if (ope.ShowDialog() == DialogResult.Cancel)
return;
FileStream stream = new FileStream(ope.FileName, FileMode.Open);
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
DataSet result = excelReader.AsDataSet();
DataClasses1DataContext conn = new DataClasses1DataContext();
foreach(DataTable table in result.Tables)
{
//Default start value of foreach statement is 0
//Please tell me: How to count dr from 1 instead of 0???
foreach (DataRow dr in table.Rows)
{
//if index of dr==1, then continue
if (table.Rows.IndexOf(dr) == 0)
{
continue;
}
test addtable = new test()
{
id = Convert.ToInt32(dr[0]),
name = Convert.ToString(dr[1]),
surname = Convert.ToString(dr[2]),
age = Convert.ToInt32(dr[3])
};
conn.tests.InsertOnSubmit(addtable);
}
}
conn.SubmitChanges();
excelReader.Close();
stream.Close();
MessageBox.Show("Import table completed!");
}
Assuming you are looking to get the data from the spreadsheet Sheet2 , this should work : 假设您希望从电子表格Sheet2中获取数据,则此方法应该有效:
DataSet result = excelReader.AsDataSet();
while (excelReader.NextResult())
{
if (excelReader.Name == "Sheet2")
{
result = excelReader.AsDataSet();
break;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.