柚子快报邀请码778899分享:步步为营-39-数据的导入导出

http://yzkb.51969.com/

说明:数据的导入导出功能在企业中还是比较常用的,下面先介绍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

 

柚子快报邀请码778899分享:步步为营-39-数据的导入导出

http://yzkb.51969.com/

推荐文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。