千家信息网

如何实现Excel、记事本数据导入到数据库

发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,这篇文章主要介绍"如何实现Excel、记事本数据导入到数据库",在日常操作中,相信很多人在如何实现Excel、记事本数据导入到数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
千家信息网最后更新 2025年11月12日如何实现Excel、记事本数据导入到数据库

这篇文章主要介绍"如何实现Excel、记事本数据导入到数据库",在日常操作中,相信很多人在如何实现Excel、记事本数据导入到数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何实现Excel、记事本数据导入到数据库"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

前台代码:

复制代码 代码如下:





ID="RequiredFieldValidator1" runat="server" ErrorMessage="请选择要提交的Excel文件" ControlToValidate="FileUpload1">









onclick="btnExcel_Click" />
   







ID="RequiredFieldValidator2" runat="server" ErrorMessage="请选择要提交的tTXT文件"
ControlToValidate="FileUpload2">









onclick="btnNotepad_Click" />
   




后台代码

复制代码 代码如下:

//Excel上传
protected void btnExcel_Click(object sender, EventArgs e)
{
string backStr= UploadFile(FileUpload1, "Excel",1);
if (backStr == "-1")
{
//这里是放返回消息的,改为对应放消息的方式就行了,Js这个类就不上传了
Js.ShowSureMsgBox(this.Page,"请选择要提交的Excel文件");
return;
}
else if (backStr == "-2")
{
Js.ShowSureMsgBox(this.Page, "请选择.xls或.xlsx类型文件");
return;
}
else
{
string url = backStr; //绝对路径
DataTable dt = ExcelToDataSet(url);
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
//读取每行数据
string phoneNum= dt.Rows[i][0].ToString();
}
}
else
{
Js.ShowSureMsgBox(this.Page, "文件内容为空");
}
File.Delete(url); //删除上传的文件
}
}
//记事本上传
protected void btnNotepad_Click(object sender, EventArgs e)
{
string backStr = UploadFile(FileUpload2, "TXT",2);
if (backStr == "-1")
{
Js.ShowSureMsgBox(this.Page, "请选择要提交的TXT文件");
return;
}
else if (backStr == "-2")
{
Js.ShowSureMsgBox(this.Page, "请选择.txt类型文件");
return;
}
else
{
string url = backStr; //绝对路径
DataTable dt = ReadTXT(url);
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
//读取每行数据
string phoneNum= dt.Rows[i][0].ToString();
}
}
else
{
Js.ShowSureMsgBox(this.Page, "文件内容为空");
}
File.Delete(url); //删除上传的文件
}
}

//上传文件
public string UploadFile(FileUpload FileUploadName, string varfilename,int type)
{
if (FileUploadName.HasFile)//判断是否有上传文件
{
string fileExtension = System.IO.Path.GetExtension(FileUploadName.FileName).ToLower();//获取文件的后缀名
if (type == 1)
{
if (fileExtension != ".xls" && fileExtension != ".xlsx")
{
return "-2";
}
}
if (type == 2)
{
if (fileExtension != ".txt")
{
return "-2";
}
}
string fpath = System.Web.HttpContext.Current.Server.MapPath("/Manager/Uploadfiles/" + varfilename + "/");//图片存储文件夹路径,需要按照不同的需要进行相应的修改
if (!Directory.Exists(fpath))//查看存储路径的文件是否存在
{
Directory.CreateDirectory(fpath); //创建文件夹,并上传文件
}
string time = DateTime.Now.ToString("yyyyMMddhhmmssfff");//使用时间定义上传图片的名字
string picturename = time + fileExtension;
string newFilePath = fpath + picturename; //文件保存路径
FileUploadName.SaveAs(newFilePath);
return newFilePath; //绝对路径

}
else
{
return "-1"; //没有文件
}
}
//读取Excel数据
public DataTable ExcelToDataSet(string filename)
{
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + filename + ";Extended Properties=Excel 8.0";
OleDbConnection conn = new OleDbConnection(strCon);
conn.Open();
//返回Excel的架构,包括各个sheet表的名称,类型,创建时间和修改时间等 
DataTable dtSheetName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });
//包含excel中表名的字符串数组
string[] strTableNames = new string[dtSheetName.Rows.Count];
for (int k = 0; k < dtSheetName.Rows.Count; k++)
{
strTableNames[k] = dtSheetName.Rows[k]["TABLE_NAME"].ToString();
}
OleDbDataAdapter myCommand = null;
DataTable dt = new DataTable();
//从指定的表明查询数据,可先把所有表明列出来供用户选择
string strExcel = "select * from [" + strTableNames[0] + "]";
myCommand = new OleDbDataAdapter(strExcel, strCon);
myCommand.Fill(dt);
conn.Close();

return dt;
}
//读取记事本数据
public DataTable ReadTXT(string dirTXT)
{
StreamReader objReader = new StreamReader(dirTXT);
System.Data.DataTable dt = new System.Data.DataTable();
dt.Columns.Add("DN", System.Type.GetType("System.String"));
string sLine = "";
while (sLine != null)
{
sLine = objReader.ReadLine();
if (sLine != null && !sLine.Equals(""))
{
DataRow dr = dt.NewRow();
dr[0] = sLine;
dt.Rows.Add(dr);
}
}
objReader.Close();
return dt;
}

到此,关于"如何实现Excel、记事本数据导入到数据库"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

文件 数据 选择 记事本 代码 路径 数据库 学习 时间 类型 内容 图片 文件夹 更多 消息 示例 存储 帮助 不同 实用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 集宁网络安全测评 买的服务器可以挂100个qq吗 服务器开启80 网络安全隐患通报的整改报告 县纪委网络技术中心 怎么老是显示无法连接服务器 计算机网络技术适合女生学吗 计算机三级网络技术没时间 app软件开发公司北京 湖南化工软件开发专业怎么样 《网络安全法》第三十一条 云服务器老是自动关机 湖南禧酒科技互联网有限公司 软件开发公司交多少税金 非对话方式数据库 虚拟打卡免费软件开发者权限 智能锁大数据库 航信a6 显示无法连接服务器 服务器服主一年能挣多少钱 服务器网络机柜比例 绝地求生未来之役怎样修改服务器 点豆网络技术有限公司 全市网络安全检查安排 闵行区无线网络技术售后保障 服务器适不适合家用 sql 数据库版本706 web数据库技术与mysql 分布式数据库技术架构 潜江网络安全维护公司哪家好 网络安全我们一起努力
0