博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
步步为营-39-数据的导入导出
阅读量:5214 次
发布时间:2019-06-14

本文共 5765 字,大约阅读时间需要 19 分钟。

说明:数据的导入导出功能在企业中还是比较常用的,下面先介绍txt文件的导入导出,但是企业中一般是用Excel导入导出

1 先建UI页面  

2清空数据库数据

 

3 导入数据

4导出数据

代码

using System;using System.Collections.Generic;using System.ComponentModel;using System.Configuration;using System.Data;using System.Data.SqlClient;using System.Drawing;using System.IO;using System.Linq;using System.Text;using System.Text.RegularExpressions;using System.Threading.Tasks;using System.Windows.Forms;using Microsoft.Win32.SafeHandles;namespace UserLogin{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        //导入        private void btnImport_Click(object sender, EventArgs e)        {            //1、找到文件--这里使用OpenfileDialog类            using (OpenFileDialog ofd = new OpenFileDialog())            {                //1-01设置标题                ofd.Title = "请选择要导入的文件";                //1-02设置初识路径                ofd.InitialDirectory = @"C:\Users\home\Desktop";                //1-03 设置文件类型                ofd.Filter = "文本文件|*.txt";                if (ofd.ShowDialog() == DialogResult.OK)                {                    this.txtSelectFile.Text = ofd.FileName;                    //导入数据                    ImportData(ofd.FileName);                    MessageBox.Show("导入成功");                }            }        }        //导出        private void btnExport_Click(object sender, EventArgs e)        {            //1、找到文件--这里使用OpenfileDialog类            using (OpenFileDialog ofd = new OpenFileDialog())            {                //1-01设置标题                ofd.Title = "请选择要导出的文件路径";                //1-02设置初识路径                ofd.InitialDirectory = @"C:\Users\home\Desktop";                //1-03 设置文件类型                ofd.Filter = "文本文件|*.txt";                if (ofd.ShowDialog() == DialogResult.OK)                {                    this.txtExport.Text = ofd.FileName;                    //导入数据                    ExportData();                    MessageBox.Show("导出成功");                }            }                  }        private void ImportData(string fileName)        {            string temp = string.Empty;            //2、读取文件            using (StreamReader reader = new StreamReader(fileName,Encoding.UTF8))            {                reader.ReadLine();//去掉第一行                                //32-01连接数据库字符串                string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;                //3-02创建连接对象                SqlConnection conn = new SqlConnection(connStr);                using (conn)                {                    //3-03创建数据库执行对象                    SqlCommand cmd = new SqlCommand();                    cmd.Connection = conn;                    conn.Open();                    using (cmd)                    {                        //如果下一行数据不为空,继续执行                        while (!string.IsNullOrEmpty(temp = reader.ReadLine()))                        {                            string[] strs = temp.Split(new string[]{
"\t"}, StringSplitOptions.RemoveEmptyEntries); //创建sql语句 cmd.CommandText = string.Format("insert into UserInfo ( Pwd, StuName, StuAge, Delflag, ClassNo) values ({0},'{1}',{2},{3},{4})", strs[1], strs[2], strs[3], strs[4], strs[5]); cmd.ExecuteNonQuery(); } } } } } private void ExportData() { //连接数据库字符串 //32-01连接数据库字符串 string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString; //3-02创建连接对象 SqlConnection conn = new SqlConnection(connStr); using (conn) { conn.Open(); using (System.Data.SqlClient.SqlCommand command = conn.CreateCommand()) { command.CommandText = "select * from UserInfo"; using (System.Data.SqlClient.SqlDataAdapter adp = new System.Data.SqlClient.SqlDataAdapter(command)) { System.Data.DataTable dt = new System.Data.DataTable(); adp.Fill(dt); DataRow[] myRow = dt.Select(); int cl = dt.Columns.Count; if (cl <= 0) { MessageBox.Show("数据不存在"); } using (FileStream fsWrite= new FileStream(txtExport.Text.Trim(),FileMode.OpenOrCreate,FileAccess.Write)) { #region 写数据 //逐行写入数据 foreach (DataRow row in myRow) { string ls_item = string.Empty; for (int i = 0; i < cl; i++) { if (i == (cl - 1)) { ls_item += row[i].ToString() + "\r\n"; } else { ls_item += row[i].ToString() + "\t"; } } byte[] buffer = Encoding.UTF8.GetBytes(ls_item); fsWrite.Write(buffer, 0, buffer.Length); } #endregion } } } } } }}
View Code

 

转载于:https://www.cnblogs.com/YK2012/p/6769800.html

你可能感兴趣的文章
冲刺Two之站立会议10
查看>>
配置docker容器上ssh无密登录
查看>>
vue中给buttion按钮添加键盘回车(enter)事件
查看>>
轮播图记录篇
查看>>
Codevs 1227 方格取数 2(费用流)
查看>>
ef 吐糟
查看>>
读取字体.ttf文件,生成艺术字图片代码
查看>>
上周热点回顾(6.11-6.17)
查看>>
记一次简单的清理挖矿程序过程
查看>>
黑马Java学习笔记之-----静态导入、可变参数和高级For循环
查看>>
java时间调度Quartz入门demo代码示例
查看>>
hellow word!~
查看>>
体会 git 之优越性
查看>>
Appium+python自动化-Android夜神模拟器
查看>>
异常处理:try - except 和 try finally。
查看>>
创建自己的github仓库
查看>>
建造者模式(Builder Pattern)
查看>>
Oracle PL/SQL编程语法
查看>>
pdf文件如何转换成cad格式文件
查看>>
单点登录实现机制:桌面sso
查看>>