- ·上一篇文章:ASP.NET中在一般处理程序中使用session的简单介绍
- ·下一篇文章:.NET中的DES对称加密详解
Excel、记事本数据导入到数据库的实现方法
文件示例:
Excel:
记事本:
前台代码:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
后台代码
//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、记事本数据导入到数据库的实现方法