Excel导入数据到数据库(Sql2005 ,Access)

1.在Sql2005创建对应的表"Roll"

2.应用以下这段代码

string  execelConnectionStr  =   @" Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Book1.xls;Extended Properties=""Excel 8.0;HDR=YES;"" " ;
            
using  (OleDbConnection conn  =   new  OleDbConnection(execelConnectionStr))
            
{
                OleDbCommand cmd 
= new OleDbCommand("select * FROM [Sheet1$]", conn);
                conn.Open();
                
using (DbDataReader dr = cmd.ExecuteReader())
                
{
                    
string sqlConnectionString = @"Data Source=.\sqlexpress;Initial Catalog=Northwind;Integrated Security=True";
                    
// Bulk Copy to SQL Server 
                    using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConnectionString))
                    
{
                        bulkCopy.DestinationTableName 
= "Roll";
                        bulkCopy.WriteToServer(dr);
                    }

                }

            }

3.Excel导入、导出数据到access,使用Com组件
     public   static   void  ExcelImportDB()
        
{
            OleDbConnection conExcel 
= new OleDbConnection();
            
try
            
{
                ApplicationClass access 
= new ApplicationClass();

                access.Visible 
= false;
                access.OpenCurrentDatabase(Settings.Default.DBPath, 
true"");

                OpenFileDialog openFile 
= new OpenFileDialog();
                openFile.Filter 
= ("Excel 文件(*.xls)|*.xls");

                
if (openFile.ShowDialog() == DialogResult.OK)
                
{
                    access.DoCmd.TransferSpreadsheet(AcDataTransferType.acImport, AcSpreadSheetType.acSpreadsheetTypeExcel12, 
"Intergral", openFile.FileName, truenullnull);

                    access.CloseCurrentDatabase();
                    access.DoCmd.Quit(AcQuitOption.acQuitSaveAll);

                    Marshal.ReleaseComObject(access);

                    access 
= null;

                    System.Windows.Forms.MessageBox.Show(
"导入数据成功""导入数据", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

            }

            
catch (Exception ex)
            
{
                System.Windows.Forms.MessageBox.Show(ex.ToString());
            }

            
finally
            
{
                conExcel.Close();
            }

        }


        
public   static   void  DBExportExcel()
        
{
            
try
            
{
                ApplicationClass access 
= new ApplicationClass();

                access.Visible 
= false;
                access.OpenCurrentDatabase(Settings.Default.DBPath, 
false"");

                SaveFileDialog saveFile 
= new SaveFileDialog();
                saveFile.Filter 
= ("Excel 文件(*.xls)|*.xls");
                
if (saveFile.ShowDialog() == DialogResult.OK)
                
{
                    access.DoCmd.TransferSpreadsheet(AcDataTransferType.acExport, AcSpreadSheetType.acSpreadsheetTypeExcel9, 
"Intergral", saveFile.FileName, truenullnull);

                    access.CloseCurrentDatabase();
                    access.DoCmd.Quit(AcQuitOption.acQuitSaveNone);

                    Marshal.ReleaseComObject(access);

                    access 
= null;

                    MessageBox.Show(
"导出数据成功""导出数据", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

            }

            
catch (Exception ex)
            
{
                MessageBox.Show(ex.ToString());
            }

        }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值