程序调用模板导出excel_调用模板部件时出错
private void button_Click(object sender, EventArgs e)
{
var ModelPath =
System.Web.Hosting.HostingEnvironment.MapPath("~/");//程序运行路径
var stream =FileToStream(ModelPath + "Files\\Model\\模板.xlsx");//读取模板
//var stream = FileStream(ModelPath + "Files\\Model\\模板.xlsx");//读取模板
var date = DateTime.Now.ToString("yyyyMMdd");
var url = ModelPath + "Files\\Uploads\\" + date + "\\";
var FileName = url + "测试.xlsx";
string dicrctoryName = Path.GetDirectoryName(url);
//如果路径不存在,创建路径
if (!string.IsNullOrEmpty(dicrctoryName))
{
Directory.CreateDirectory(dicrctoryName);
}
//删除相同文件名的文件
if (File.Exists(FileName))
{
File.Delete(FileName);
}
using (ExcelPackage package = new ExcelPackage(stream))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
worksheet.Cells[1, 2].Value = "helllo";//第一行第二列
worksheet.Cells[2, 1].Value = "w我是qw";//第二行第一列
worksheet.Cells[3, 3].Value = "word";//第三行第三列
FileInfo fs = new FileInfo(FileName);
package.SaveAs(fs);
}
}
public Stream FileToStream(string fileName)
{
// 打开文件
FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);
// 读取文件的 byte[]
byte[] bytes = new byte[fileStream.Length];
fileStream.Read(bytes, 0, bytes.Length);
fileStream.Close();
// 把 byte[] 转换成 Stream
Stream stream = new MemoryStream(bytes);
return stream;
}