C# 将Access中的数据导入到Excel access数据库c#excel 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我分了好多次读取数据,重复的连接、关闭数据库。可能慢在这个地方吧。接近1G的数据一次性读取放在内存中计算合理吗?我的程序逻辑是,分次以不同的条件查询读取Access数据库中的数据,然后存在DataTable中,存完一个Table,就生成一个Excel文件,继续下一次的读取和存入。这种方法逻辑简单,但是太费时间了,怎么改进比较好?谢谢 我感觉自己出错的地方在读取Access,然后按照要求存入新建的DataTable中。我的dataTable字段名是某一列的值,然后将其他列的值相应的写入该字段。我是一条一条数据取的,太麻烦了,所以耗时间 C#把access数据导入到Excel示例 private void btn_Read_Click(object sender, EventArgs e) { try { string P_str_Con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + txt_Access.Text + ";Persist Security Info=True";//记录连接Access的语句 string P_str_Sql = "";//存储要执行的SQL语句 OleDbConnection oledbcon = new OleDbConnection(P_str_Con);//实例化OLEDB连接对象 OleDbCommand oledbcom;//定义OleDbCommand对象 oledbcon.Open();//打开数据库连接 //向Excel工作表中导入数据 P_str_Sql = @"select * into [Excel 8.0;database=" + txt_Excel.Text + "]." + "[" + cbox_Table.Text + "] from " + cbox_Table.Text + "";//记录连接Excel的语句 oledbcom = new System.Data.OleDb.OleDbCommand(P_str_Sql, oledbcon);//实例化OleDbCommand对象 oledbcom.ExecuteNonQuery();//执行SQL语句,将数据表的内容导入到Excel中 oledbcon.Close();//关闭数据库连接 oledbcon.Dispose();//释放资源 MessageBox.Show("导入成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); }//CodeGo.net/ catch { MessageBox.Show(cbox_Table.Text + "工作表已经存在,请选择其他数据表!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } C#把access数据导入到Excel示例 private void btn_Read_Click(object sender, EventArgs e) { try { string P_str_Con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + txt_Access.Text + ";Persist Security Info=True";//记录连接Access的语句 string P_str_Sql = "";//存储要执行的SQL语句 OleDbConnection oledbcon = new OleDbConnection(P_str_Con);//实例化OLEDB连接对象 OleDbCommand oledbcom;//定义OleDbCommand对象 oledbcon.Open();//打开数据库连接 //向Excel工作表中导入数据 P_str_Sql = @"select * into [Excel 8.0;database=" + txt_Excel.Text + "]." + "[" + cbox_Table.Text + "] from " + cbox_Table.Text + "";//记录连接Excel的语句 oledbcom = new System.Data.OleDb.OleDbCommand(P_str_Sql, oledbcon);//实例化OleDbCommand对象 oledbcom.ExecuteNonQuery();//执行SQL语句,将数据表的内容导入到Excel中 oledbcon.Close();//关闭数据库连接 oledbcon.Dispose();//释放资源 MessageBox.Show("导入成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); }//CodeGo.net/ catch { MessageBox.Show(cbox_Table.Text + "工作表已经存在,请选择其他数据表!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } 服务连接不上sqlserver问题 按下快捷键ctrl+S,buttonclick事件响应。 自学C++有什么好的经验!! 已知去年和今年的数据,如何预测明年的数据 求下载文件方法 怎样编程控制网络连接? 愚翁:帮助看看我的问题。谢谢! C#如何判断从文件读入的条件或运算表达式 从键盘输入一数I,如果I=0,则显示I的值为零,否则显示I的值不为零。 关于C#注释的问题,怎么写<example></example>的注释 Gzipstream的问题~ SQL中的数据 与 树 的问题,求高人指点?谢谢!
接近1G的数据一次性读取放在内存中计算合理吗?
我的程序逻辑是,分次以不同的条件查询读取Access数据库中的数据,然后存在DataTable中,存完一个Table,就生成一个Excel文件,继续下一次的读取和存入。
这种方法逻辑简单,但是太费时间了,怎么改进比较好?谢谢
private void btn_Read_Click(object sender, EventArgs e)
{
try
{
string P_str_Con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + txt_Access.Text + ";Persist Security Info=True";//记录连接Access的语句
string P_str_Sql = "";//存储要执行的SQL语句
OleDbConnection oledbcon = new OleDbConnection(P_str_Con);//实例化OLEDB连接对象
OleDbCommand oledbcom;//定义OleDbCommand对象
oledbcon.Open();//打开数据库连接
//向Excel工作表中导入数据
P_str_Sql = @"select * into [Excel 8.0;database=" + txt_Excel.Text + "]." + "[" + cbox_Table.Text + "] from " + cbox_Table.Text + "";//记录连接Excel的语句
oledbcom = new System.Data.OleDb.OleDbCommand(P_str_Sql, oledbcon);//实例化OleDbCommand对象
oledbcom.ExecuteNonQuery();//执行SQL语句,将数据表的内容导入到Excel中
oledbcon.Close();//关闭数据库连接
oledbcon.Dispose();//释放资源
MessageBox.Show("导入成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}//CodeGo.net/
catch
{
MessageBox.Show(cbox_Table.Text + "工作表已经存在,请选择其他数据表!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
private void btn_Read_Click(object sender, EventArgs e)
{
try
{
string P_str_Con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + txt_Access.Text + ";Persist Security Info=True";//记录连接Access的语句
string P_str_Sql = "";//存储要执行的SQL语句
OleDbConnection oledbcon = new OleDbConnection(P_str_Con);//实例化OLEDB连接对象
OleDbCommand oledbcom;//定义OleDbCommand对象
oledbcon.Open();//打开数据库连接
//向Excel工作表中导入数据
P_str_Sql = @"select * into [Excel 8.0;database=" + txt_Excel.Text + "]." + "[" + cbox_Table.Text + "] from " + cbox_Table.Text + "";//记录连接Excel的语句
oledbcom = new System.Data.OleDb.OleDbCommand(P_str_Sql, oledbcon);//实例化OleDbCommand对象
oledbcom.ExecuteNonQuery();//执行SQL语句,将数据表的内容导入到Excel中
oledbcon.Close();//关闭数据库连接
oledbcon.Dispose();//释放资源
MessageBox.Show("导入成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}//CodeGo.net/
catch
{
MessageBox.Show(cbox_Table.Text + "工作表已经存在,请选择其他数据表!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}