当前位置:  编程技术>.net/c#/asp.net

C#实现Excel导入sqlite的方法

    来源: 互联网  发布时间:2014-11-04

    本文导语:  本文实例讲述了C#实现Excel导入sqlite的方法,是非常实用的技巧。分享给大家供大家参考。具体方法如下: 首先需要引用system.date.sqlite 具体实现代码如下: system.date.sqlite system.date.sqlite.linq //导入--Excel导入sqlite private void bu...

本文实例讲述了C#实现Excel导入sqlite的方法,是非常实用的技巧。分享给大家供大家参考。具体方法如下:

首先需要引用system.date.sqlite

具体实现代码如下:

system.date.sqlite
system.date.sqlite.linq 
//导入--Excel导入sqlite
private void button2_Click(object sender, EventArgs e)
{
  DAL.Sqlite da = new DAL.Sqlite("DataByExcel.db");
  if (chk_sfzj.Checked==false)
  {
 //删除全部数据
 if (da.SqlExSQLiteCommand("delete from sqllitebyexcel"))
 {

 }
 else
 {
   MessageBox.Show("删除原失败,请联系管理员!");
 }
  }
  OpenFileDialog ofg = new OpenFileDialog();
  ofg.Filter = "*.xls|*.xls";
  if (ofg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  {
 string sName = ofg.FileName;
 if (new BLL.Excelcs().OutExcel(sName, da))
 {
   MessageBox.Show("导入成功");
   //bdData("");
 }
 else
 {
   MessageBox.Show("导入失败");
 }
  }
}

/// 
/// 初始化数据库
/// 
/// 数据库文件路径

 SQLiteConnection SQLCon;
public Sqlite(string dataName)
{
    SQLCon = new SQLiteConnection(string.Format("Data Source={0}{1}", System.AppDomain.CurrentDomain.BaseDirectory, dataName));
}

 /// 
/// 执行sql语句
/// 
/// sql语句
/// 是否执行成功
public bool SqlExSQLiteCommand(string strSql)
{
  SqlOpen();
  SQLiteCommand cmd = new SQLiteCommand();
  cmd.Connection = SQLCon;
  cmd.CommandText = strSql;
  try
  {
 int i = cmd.ExecuteNonQuery();
 return true;
  }
  catch (Exception ex)
  {
 return false;
  }
}

/// 
/// 导入数据到数据库
///     
/// 文件
/// 数据库操作对象
/// 
public bool OutExcel(string outFile,DAL.Sqlite sql)
{
  DataTable dt = DAL.Excel.TransferData(outFile, "Sheet1").Tables[0];
  try
  {
 foreach (DataRow item in dt.Rows)
 {

   string strSql = @"insert into sqllitebyexcel
  (No,BUSINESS_NO,BUSINESS_TYPE_NAME,VESSEL_NAME_C,VOYAGE,BILL_NO,CTNW1,CTNW2,
    CTNW3,TXDD,XXDD,CTN_NO,CTN_TYPE,NAME1,NAME2,NAME3,IN_DATE,JFJSSJ,JFSC,DYPCD,TXPCSJ,
TXPCSC,JCSJ,TXSC,H986JJYCSJ,YFYXSJ,LXSJ,LXSC,CCJFSJ,TXJCSJ,TXCCSJ,DCTXSC,TimeNow,DDTXSC)
    values('{0}','{1}','{2}','{3}','{4}','{5}','{6}',
'{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}',
'{15}','{16}','{17}','{18}','{19}','{20}','{21}','{22}','{23}','{24}','{25}','{26}','{27}','{28}','{29}','{30}','{31}','{32}','{33}')";
   string strEnd = string.Format(strSql, item[0], item[1], item[2], item[3], item[4], item[5],
 item[6], item[7], item[8], item[9], item[10], item[11], item[12],
 item[13], item[14], item[15], item[16].ToDate(), item[17].ToDate(), item[18], item[19].ToDate(),
 item[20].ToDate(), item[21], item[22].ToDate(), item[23], item[24].ToDate(), item[25].ToDate(), item[26].ToDate(),
 item[27], item[28].ToDate(), item[29].ToDate(), item[30].ToDate(), item[31], DateTime.Now.ToDate(), "");
   sql.SqlExSQLiteCommand(strEnd);
 }
    return true;
  }
  catch (Exception ex)
  {
    // MessBox.Show("");
 string aa = ex.Message;
 return false;
  }
}

public static string ToDate(this object obj)
{
  // if (obj == null || string.IsNullOrEmpty(obj.ToString()))
  if(string.IsNullOrEmpty(obj.ToString().Trim()))
  {
 return "null";
  }
  return ((DateTime)obj).ToString("yyyy-MM-dd HH:mm:ss");
}
/// 
/// 获取excel表数据
/// 
/// excel文件路径
/// excel工作表名
/// 
public static DataSet TransferData(string excelFile, string sheetName)
{
  DataSet ds = new DataSet();
  //获取全部数据  
  string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + excelFile + ";" + "Extended Properties=Excel 8.0;";
  OleDbConnection conn = new OleDbConnection(strConn);
  try
  {
    
 conn.Open();
 string strExcel = "";
 OleDbDataAdapter myCommand = null;
 strExcel = string.Format("select * from [{0}$]", sheetName);
 myCommand = new OleDbDataAdapter(strExcel, strConn);
 myCommand.Fill(ds);
  }
  catch (Exception ex)
  {
 throw new Exception(ex.Message);
  }
  finally 
  {
 conn.Close();
  }
  return ds;
}

相信本文所述对大家的C#程序设计有一定的借鉴价值。


    
 
 

您可能感兴趣的文章:

  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • C#实现获取枚举中元素个数的方法
  • C#实现自定义双击事件
  • C#键盘输入回车键实现点击按钮效果的方法
  • C#实现获取一年中是第几个星期的方法
  • C#实现Datatable排序的方法
  • C#实现装箱与拆箱操作简单实例
  • 解决C#中WebBrowser的DocumentCompleted事件不执行的实现方法
  • C#下实现创建和删除目录的实例代码
  • 使用C#实现在屏幕上画图效果的代码实例
  • C#实现过滤html标签并保留a标签的方法
  • c#实现TextBox只允许输入数字
  • C# Winform 整个窗口拖动的实现代码
  • c# ListView实现双击Item事件的变通方法
  • C#实现随鼠标移动窗体实例
  • C#中的FileUpload 选择后的预览效果具体实现
  • C# 窗体隐藏及任务管理器中禁止关闭的实现代码
  • C#的锯齿数组以及C++实现代码
  • C#格式化文件大小的实现代码
  • C#怎样才能实现窗体最小化到托盘呢?
  • C# char类型字符转换大小写的实现代码
  • C#实现自定义双击事件 iis7站长之家
  • H2 数据库导入CSV文件实现原理简析
  • Godaddy 导入导出MSSQL数据库的实现步骤
  • MySQL中使用load data命令实现数据导入的方法
  • mysql下完整导出导入实现方法
  • android实现raw文件夹导入数据库代码
  • 图解SSIS批量导入Excel文件的实现方法
  • php导入数据到mysql实现代码
  • 要实现message进程通信的send()和receive()在linux中应该添加什么头文件或导入怎样的库呢?
  • 利用导出/导入功能实现重新组织Oracle数据库表空间
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • html<pre>标签自动换行实现方法
  • 求在freebsd+Squid下实现pc上网的透明代理的实现方法!给出具体配置方法的高分谢!
  • java tomcat实现Session对象的持久化原理及配置方法介绍
  • 菜鸟提问:一个类实现了一个接口,除了要定义接口的所有方法外,可不可以再添加其他方法?
  • Session id实现通过Cookie来传输方法及代码参考
  • 实现在同一方法中获取当前方法中新赋值的session值解决方法
  • JavaScript实现页面跳转的几种方法(参考代码)
  • 弱智问题:我们怎么才知道要使用的方法需要实现什么接口才能使用这个方法呢?
  • java实现判断字符串是否全是数字的四种方法代码举例
  • 自己实现strcpy函数的实现方法
  • 网站到底怎么实现盈利赚钱:个人网站赚钱方法大总结
  • php通过数组实现多条件查询实现方法(字符串分割)
  • java 与 C++ 实现后绑定的方法
  • 在Servlet中方法doGet和doPost分别实现什么功能,Html中表单的get、post方法我就不明白
  • DevExpress实现GridControl显示Gif动画的方法
  • Collections.sort()方法,已经实现Comparable接口,为什么无法将Vector排序?
  • 请问聊天室中显示用户在线离线的原理是怎样?有哪些方法实现呢?
  • 请问jdk源程序中,许多native方法是怎么实现的?
  • c# 重载WndProc,实现重写“最小化”的实现方法
  • mysql中文排序注意事项与实现方法
  • Winform实现抓取web页面内容的方法
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • socket实现多文件并发传输,求助多线程实现问题?
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • interface 到底有什么用???实现接口,怎么实现??
  • 通过javascript库JQuery实现页面跳转功能代码
  • 怎么用Jsp实现在页面实现树型结构?
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • windows 下的PortTunnel 在linux下怎么实现?或者相应的已经实现的软件?端口映射
  • php实现socket实现客户端和服务端数据通信源代码
  • 网站重定向用C语言实现iptables,ACL实现


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3