前台代码-FineUIPro
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" />
<f:SimpleForm ID="SimpleForm1" IsFluid="true" BodyPadding="10px" EnableCollapse="false"
ShowBorder="true" Title="表单" runat="server">
<Items>
<f:TextBox runat="server" Label="文件路径" ID="tbx_File_UpLoad_Path" Readonly="true">
</f:TextBox>
<f:TextBox runat="server" Label="下载路径" ID="tbx_File_DownLoad_Path" Readonly="true">
</f:TextBox>
<f:TextBox runat="server" Label="文件名称" ID="tbx_FileName" Readonly="true">
</f:TextBox>
<f:TextBox runat="server" Label="系统名称" ID="tbx_ServerFileName" Readonly="true">
</f:TextBox>
<f:TextBox runat="server" Label="文件类型" ID="tbx_FileType" Readonly="true">
</f:TextBox>
<f:TextArea runat="server" ID="tbx_Result" EmptyText="文本框的高度会自动扩展" Label="测试结果" Height="300"
AutoGrowHeight="false" AutoGrowHeightMin="100" AutoGrowHeightMax="600" Readonly="true">
</f:TextArea>
</Items>
<Toolbars>
<f:Toolbar Position="Bottom" runat="server">
<Items>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button runat="server" Text="下载文件" IconFont="_Send" ID="Btn_DownLoadExcelFile" OnClick="Btn_DownLoadExcelFile_Click" EnableAjax="false" Enabled="false"></f:Button>
<f:ToolbarFill runat="server"></f:ToolbarFill>
</Items>
</f:Toolbar>
<f:Toolbar Position="Top" runat="server">
<Items>
<f:FileUpload runat="server" ID="fileUpload_Excel" ButtonText="上传Excel文件" AcceptFileTypes="xls/xlsx" ButtonOnly="true"
AutoPostBack="true" OnFileSelected="fileUpload_Excel_FileSelected" ButtonIconFont="_Upload">
</f:FileUpload>
<f:Button runat="server" IconFont="_Save" ID="Btn_StartDAL" OnClick="Btn_StartDAL_Click" Text="开始处理" Enabled="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:SimpleForm>
<f:HiddenField ID="hdf_ServerFilePath" runat="server"></f:HiddenField>
<f:HiddenField ID="hdf_FileType" runat="server"></f:HiddenField>
</form>
后台代码-c#
#region 上传文件后,改名并保存至服务器
/// <summary>
/// 上传文件后,改名并保存至服务器
/// </summary>
/// <returns></returns>
protected string GetUpLoadFile()
{
string _ServerFileName = String.Empty;
string _TrueFileName = String.Empty;
if (fileUpload_Excel.HasFile)
{
_TrueFileName = fileUpload_Excel.ShortFileName;
if (!ValidateFileTypeExcel(_TrueFileName))
{
// 清空文件上传控件
fileUpload_Excel.Reset();
ShowNotify("无效的文件类型!");
return "无效的文件类型!";
}
string fileType = String.Empty;
int lastDotIndex = _TrueFileName.LastIndexOf(".");
if (lastDotIndex >= 0)
{
fileType = _TrueFileName.Substring(lastDotIndex + 1).ToLower();
}
else
{
// 清空文件上传控件
fileUpload_Excel.Reset();
ShowNotify("无效的文件类型!");
return "无效的文件类型!";
}
this.tbx_File_UpLoad_Path.Text = fileUpload_Excel.ShortFileName;
this.tbx_FileType.Text = fileType;
this.hdf_FileType.Text = fileType;
this.tbx_FileName.Text = fileUpload_Excel.FileName;
_ServerFileName = _TrueFileName.Replace(":", "_").Replace(" ", "_").Replace("\\", "_").Replace("/", "_");
_ServerFileName = "UserUpLoad_" + _ServerFileName;
this.tbx_ServerFileName.Text = _ServerFileName;
this.hdf_ServerFilePath.Text = Server.MapPath("~/_UpLoadFolder/ExcelFolder/" + _ServerFileName);
fileUpload_Excel.SaveAs(hdf_ServerFilePath.Text);
this.tbx_File_DownLoad_Path.Text = hdf_ServerFilePath.Text;
this.Btn_StartDAL.Enabled = true;
return "文件上传成功,请您继续下一步操作。";
}
else
{
return "没有找到有效文件!";
}
}
#endregion
#region 处理Excel文件
/// <summary>
/// 开始处理Excel文件
/// </summary>
public void ExcelFileDAL()
{
try
{
IWorkbook _IWK = null;
string _ServerFilePath = this.hdf_ServerFilePath.Text;
string _Extension = System.IO.Path.GetExtension(_ServerFilePath);
using (FileStream fs = File.OpenRead(_ServerFilePath))
{
if (_Extension.Equals(".xls"))
{
//把xls文件中的数据写入wk中
_IWK = new HSSFWorkbook(fs);
}
else if (_Extension.Equals(".xlsx"))
{
//把xlsx文件中的数据写入wk中
_IWK = new XSSFWorkbook(fs);
}
ISheet sheet = _IWK.GetSheetAt(0);
for (int i = 1; i < sheet.LastRowNum; i++)
{
IRow row = sheet.GetRow(i); //读取当前行数据
if (row != null)
{
for (int j = 0; j < row.Cells.Count; j++)
{
if (row.GetCell(j).ToString().Equals("<#id=DatetimeNow>"))
{
row.GetCell(j).SetCellValue(System.DateTime.Now.ToShortTimeString());
}
if (row.GetCell(j).ToString().Equals("<#id=User_Name_1>"))
{
row.GetCell(j).SetCellValue("姓名1");
}
if (row.GetCell(j).ToString().Equals("<#id=User_Name_2>"))
{
row.GetCell(j).SetCellValue("姓名2");
}
if (row.GetCell(j).ToString().Equals("<#id=User_Name_3>"))
{
row.GetCell(j).SetCellValue("姓名3");
}
this.tbx_Result.Text += row.GetCell(j).ToString() + "|";
}
}
this.tbx_Result.Text += "\n";
}
fs.Close();
}
using (FileStream fs = new FileStream(_ServerFilePath, FileMode.Create))
{
_IWK.Write(fs);
fs.Close();
}
this.Btn_DownLoadExcelFile.Enabled = true;
ShowNotify("处理成功,请您下载文件。");
}
catch (Exception ex)
{
//ex=new Exception(ex.Message);
ShowNotify("处理失败!");
//throw ex;
}
}
#endregion
#region 下载文件
/// <summary>
/// 下载文件
/// </summary>
protected void DownLoadFile()
{
Response.ClearContent();
Response.Clear();
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
//Response.Expires = 0;
//Response.Buffer = true;
//System.IO.Stream _stream = new FileStream(this.hdf_ServerFilePath.Text, FileMode.Open,FileAccess.Read,FileShare.Read);
string _fileName=Path.GetFileName(this.hdf_ServerFilePath.Text);
//Response.AddHeader("Content-Length", (_stream.Length).ToString(CultureInfo.InvariantCulture));
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("content-disposition", "attachment;filename=Down_File" + _fileName);
Response.WriteFile(this.hdf_ServerFilePath.Text);
Response.Flush();
Response.End();
}
#endregion
Excel模板