最低生活保障数据采集(民政部门)Excel到数据库满足审计部门需要 源代码
2012-02-14 19:09
267 查看
//将最低生活保障数据Excel格式批量导入数据库中 满足审计部门需要
//试用请登录http://121.18.78.216/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MyQuery.Utils;
using System.IO;
using MyQuery.DAL;
namespace dbsj
{
public partial class Form1 : Form
{
string[] tables = new string[] { "SJ_DB_JTXX_河北保定市", "SJ_DB_FFMX_河北保定市" };
string[] tpaths = new string[] { "JTXX", "FFMX" };
int[] tlengths = new int[] { 22, 10 };
string[] tsqls = new string[] { @"CREATE TABLE [{0}]([XZQHDM] varchar(6), [JTBH] varchar(64), [LB] varchar(1), [XM_HZ] varchar(64), [SFZH_HZ] varchar(20), [DBZH] varchar(64), [YHZH] varchar(64), [XM_JTCY1] varchar(64), [SFZH _JTCY1] varchar(20), [XM_JTCY2]
varchar(64), [SFZH _JTCY2] varchar(20), [XM_JTCY3] varchar(64), [SFZH _JTCY3] varchar(20), [XM_JTCY4] varchar(64), [SFZH _JTCY4] varchar(20), [XM_JTCY5] varchar(64), [SFZH _JTCY5] varchar(20), [XM_JTCY6] varchar(64), [SFZH _JTCY6] varchar(20), [BZRK] int,
[YSR] decimal(38,6)) ON [PRIMARY]", @"CREATE TABLE [{0}]([XZQHDM] varchar(6), [JTBH] varchar(64), [XM_HZ] varchar(64), [SFZH_HZ] varchar(20), [DBZH] varchar(64), [YHZH] varchar(64), [FFSJ] varchar(6), [DBJ] decimal(38,6), [BTJE_QT] decimal(38,6)) ON [PRIMARY]"
};
string[] isqls = new string[] { @"insert into [{0}] values('{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}' , '{8}', '{9}', '{10}', '{11}', '{12}', '{13}', '{14}', '{15}', '{16}' , '{17}' , '{18}' , '{19}' , {20} , {21} )", @"insert into [{0}] values('{1}',
'{2}', '{3}', '{4}', '{5}', '{6}', '{7}', {8}, {9})" };
string[,] tfields = new string[,]{ {"XZQHDM",
"JTBH",
"LB",
"XM_HZ",
"SFZH_HZ",
"DBZH",
"YHZH",
"XM_JTCY1",
"SFZH_JTCY1",
"XM_JTCY2",
"SFZH_JTCY2",
"XM_JTCY3",
"SFZH_JTCY3",
"XM_JTCY4",
"SFZH_JTCY4",
"XM_JTCY5",
"SFZH_JTCY5",
"XM_JTCY6",
"SFZH_JTCY6",
"BZRS",
"YSR"},
{"XZQHDB",
"JTBH",
"XM_HZ",
"SFZH_HZ",
"DBZH",
"YHZH",
"FFSJ",
"DBJ",
"BTJE_QT",
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null}};
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.richTextBox1.Clear();
string root = WebHelper.GetRootServerPath();
if (!Directory.Exists(root + textBox2.Text))
{
MessageBox.Show(textBox2.Text + "不在程序目录中");
return;
}
for (int t = 0; t < 2; t++)
{
if (!Directory.Exists(root + textBox2.Text + "\\" + tpaths[t]))
{
MessageBox.Show(tpaths[t] + "不在" + textBox2.Text + "目录中");
}
Dao data = new Dao(DBType.Sql2005, textBox1.Text);
//创建表
string tableName = tables[t] + textBox2.Text;
if (!"1".Equals(data.GetScalar("SELECT count(*) FROM sysobjects WHERE id = OBJECT_ID(N'[" + tableName + "]') AND type in (N'U')")))
{
data.SqlExecute(String.Format(tsqls[t], tableName));
}
DirectoryInfo dInfo = new DirectoryInfo(root + textBox2.Text + "\\" + tpaths[t]);
foreach (FileInfo file in dInfo.GetFiles())
{
//插入数据
DataSet ds = ExcelHelper.GetDataFromExcel(file.FullName, true);
if (ds == null || ds.Tables.Count == 0)
{
this.richTextBox1.AppendText(Environment.NewLine + file.Name + "没有数据" + Environment.NewLine);
}
else
{
string sql = "";
try
{
data.TransactionBegin();
for (int i = 1; i < ds.Tables[0].Rows.Count; i++)
{
DataRow dr = ds.Tables[0].Rows[i];
if (!DataHelper.IsNullOrEmpty(dr[0]))
{
if (t == 0)
{
if ("1".Equals(data.GetScalar("select count(*) from " + tableName + " where " + tfields[t, 1] + "='" + dr[1].ToString() + "'")))
{
//存在则跳过
continue;
}
}
object[] objs = new object[tlengths[t]];
objs[0] = tableName;
for (int j = 1; j < tlengths[t]; j++)
{
objs[j] = DataHelper.GetValue(dr, tfields[t, j - 1]);
}
for (int j = tlengths[t] - 2; j < tlengths[t]; j++)
{
if (DataHelper.IsNullOrEmpty(objs[j]))
{
objs[j] = 0;
}
}
sql = String.Format(isqls[t], objs);
data.SqlExecute(sql);
}
}
data.TransactionCommit();
}
catch (Exception ex)
{
data.TransactionRollback();
this.richTextBox1.AppendText(Environment.NewLine + file.Name + "错误:" + ex.Message + ";" + sql + Environment.NewLine);
continue;
}
file.Delete();
this.richTextBox1.AppendText(file.Name + "完成" + Environment.NewLine);
}
}
}
}
}
}
如需要请联系:
贾世义 QQ:jsyhello@gmail.com(914734554)
电话:15832292227
//试用请登录http://121.18.78.216/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MyQuery.Utils;
using System.IO;
using MyQuery.DAL;
namespace dbsj
{
public partial class Form1 : Form
{
string[] tables = new string[] { "SJ_DB_JTXX_河北保定市", "SJ_DB_FFMX_河北保定市" };
string[] tpaths = new string[] { "JTXX", "FFMX" };
int[] tlengths = new int[] { 22, 10 };
string[] tsqls = new string[] { @"CREATE TABLE [{0}]([XZQHDM] varchar(6), [JTBH] varchar(64), [LB] varchar(1), [XM_HZ] varchar(64), [SFZH_HZ] varchar(20), [DBZH] varchar(64), [YHZH] varchar(64), [XM_JTCY1] varchar(64), [SFZH _JTCY1] varchar(20), [XM_JTCY2]
varchar(64), [SFZH _JTCY2] varchar(20), [XM_JTCY3] varchar(64), [SFZH _JTCY3] varchar(20), [XM_JTCY4] varchar(64), [SFZH _JTCY4] varchar(20), [XM_JTCY5] varchar(64), [SFZH _JTCY5] varchar(20), [XM_JTCY6] varchar(64), [SFZH _JTCY6] varchar(20), [BZRK] int,
[YSR] decimal(38,6)) ON [PRIMARY]", @"CREATE TABLE [{0}]([XZQHDM] varchar(6), [JTBH] varchar(64), [XM_HZ] varchar(64), [SFZH_HZ] varchar(20), [DBZH] varchar(64), [YHZH] varchar(64), [FFSJ] varchar(6), [DBJ] decimal(38,6), [BTJE_QT] decimal(38,6)) ON [PRIMARY]"
};
string[] isqls = new string[] { @"insert into [{0}] values('{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}' , '{8}', '{9}', '{10}', '{11}', '{12}', '{13}', '{14}', '{15}', '{16}' , '{17}' , '{18}' , '{19}' , {20} , {21} )", @"insert into [{0}] values('{1}',
'{2}', '{3}', '{4}', '{5}', '{6}', '{7}', {8}, {9})" };
string[,] tfields = new string[,]{ {"XZQHDM",
"JTBH",
"LB",
"XM_HZ",
"SFZH_HZ",
"DBZH",
"YHZH",
"XM_JTCY1",
"SFZH_JTCY1",
"XM_JTCY2",
"SFZH_JTCY2",
"XM_JTCY3",
"SFZH_JTCY3",
"XM_JTCY4",
"SFZH_JTCY4",
"XM_JTCY5",
"SFZH_JTCY5",
"XM_JTCY6",
"SFZH_JTCY6",
"BZRS",
"YSR"},
{"XZQHDB",
"JTBH",
"XM_HZ",
"SFZH_HZ",
"DBZH",
"YHZH",
"FFSJ",
"DBJ",
"BTJE_QT",
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null}};
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.richTextBox1.Clear();
string root = WebHelper.GetRootServerPath();
if (!Directory.Exists(root + textBox2.Text))
{
MessageBox.Show(textBox2.Text + "不在程序目录中");
return;
}
for (int t = 0; t < 2; t++)
{
if (!Directory.Exists(root + textBox2.Text + "\\" + tpaths[t]))
{
MessageBox.Show(tpaths[t] + "不在" + textBox2.Text + "目录中");
}
Dao data = new Dao(DBType.Sql2005, textBox1.Text);
//创建表
string tableName = tables[t] + textBox2.Text;
if (!"1".Equals(data.GetScalar("SELECT count(*) FROM sysobjects WHERE id = OBJECT_ID(N'[" + tableName + "]') AND type in (N'U')")))
{
data.SqlExecute(String.Format(tsqls[t], tableName));
}
DirectoryInfo dInfo = new DirectoryInfo(root + textBox2.Text + "\\" + tpaths[t]);
foreach (FileInfo file in dInfo.GetFiles())
{
//插入数据
DataSet ds = ExcelHelper.GetDataFromExcel(file.FullName, true);
if (ds == null || ds.Tables.Count == 0)
{
this.richTextBox1.AppendText(Environment.NewLine + file.Name + "没有数据" + Environment.NewLine);
}
else
{
string sql = "";
try
{
data.TransactionBegin();
for (int i = 1; i < ds.Tables[0].Rows.Count; i++)
{
DataRow dr = ds.Tables[0].Rows[i];
if (!DataHelper.IsNullOrEmpty(dr[0]))
{
if (t == 0)
{
if ("1".Equals(data.GetScalar("select count(*) from " + tableName + " where " + tfields[t, 1] + "='" + dr[1].ToString() + "'")))
{
//存在则跳过
continue;
}
}
object[] objs = new object[tlengths[t]];
objs[0] = tableName;
for (int j = 1; j < tlengths[t]; j++)
{
objs[j] = DataHelper.GetValue(dr, tfields[t, j - 1]);
}
for (int j = tlengths[t] - 2; j < tlengths[t]; j++)
{
if (DataHelper.IsNullOrEmpty(objs[j]))
{
objs[j] = 0;
}
}
sql = String.Format(isqls[t], objs);
data.SqlExecute(sql);
}
}
data.TransactionCommit();
}
catch (Exception ex)
{
data.TransactionRollback();
this.richTextBox1.AppendText(Environment.NewLine + file.Name + "错误:" + ex.Message + ";" + sql + Environment.NewLine);
continue;
}
file.Delete();
this.richTextBox1.AppendText(file.Name + "完成" + Environment.NewLine);
}
}
}
}
}
}
如需要请联系:
贾世义 QQ:jsyhello@gmail.com(914734554)
电话:15832292227
相关文章推荐
- 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】)
- 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】)
- 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】)
- 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】)
- 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】) 转
- mysql导入excel数据。 需要选项对应数据库
- EXCEL表格数据导入到数据库示例,请需要的兄弟自行编写数据层!
- Python从数据库导出数据至Excel
- Java 利用poi把数据库中数据导入Excel
- 将不规则Excel文件数据写入数据库
- 将excel文件中的数据导入到数据库中的步骤
- Java操作Excel(二)将数据库中的数据导出到Excel中
- 将Excel数据快速大批量导入数据库
- excel数据制导入数据库
- JDBC远程从一个MySql数据库中的一张表里面读出数据(这个数据库需要用SSH隧道连接
- QTP的那些事--操作excel数据需要注意的事
- [转]将Excel中的数据导入到SQL Server 2000数据库中
- 使用phpexcel解析Excel数据表并存储到数据库中全过程_PHP_thinkphp_cmf
- C++ Builder 将数据库数据导出到Excel中总结2
- java实现数据库中的数据导入到Excel