如何将Excel文件保存在特定的文件夹中

我正在从数据库使用以下方法导出excel文件。但我有一个问题,当我导出excel文件比它自动下载下载文件夹,我不希望这发生,我想我的excel文件被下载我的项目文件夹

var formsection = from fs in db.FormSections join form in Form on fs.FormId equals form.FormId select fs; XLWorkbook wb = new XLWorkbook(); string sheetName = "ARTICLE"; //Give name for export file. var Fs = wb.Worksheets.Add("FORMSECTION"); Fs.Cell(2, 1).InsertTable(formsection.ToList());// assign list here. HttpContext.Response.Clear(); HttpContext.Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; HttpContext.Response.AddHeader("content-disposition", String.Format(@"attachment;filename={0}.xlsx", sheetName.Replace(" ", "_"))); var filePath = Path.Combine(Server.MapPath("~/Content")); using (MemoryStream memoryStream = new MemoryStream()) { wb.SaveAs(memoryStream); memoryStream.WriteTo(HttpContext.Response.OutputStream); memoryStream.Close(); } HttpContext.Response.End(); 

使用代码如下

  public void ImportXLX() { string filePath = string.Format("{0}/{1}", Server.MapPath("~/Content/UploadedFolder"), @"C:\Users\Vipin\Desktop\Sheets\MyXL6.xlsx"); if (System.IO.File.Exists(filePath)) System.IO.File.Delete(filePath); Request.Files["xlsFile"].SaveAs(filePath); Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application(); } 

下面是一个将数据表转换为.csv文件并将文件保存到您的项目文件夹中的示例,它将文件存储在“我的文件夹”中作为我提供的path。

 private void test(DataTable dt1) { string csv = string.Empty; foreach (DataColumn column in dt1.Columns) { //Add the Header row for CSV file. csv += column.ColumnName + ','; } //Add new line. csv += "\r\n"; foreach (DataRow row in dt1.Rows) { foreach (DataColumn column in dt1.Columns) { //Add the Data rows. csv += row[column.ColumnName].ToString().Replace(",", ";") +','; } //Add new line. csv += "\r\n"; } string datetime = Convert.ToString(DateTime.Today.ToString("dd-MM-yyyy")).Trim(); string filepath = "C:\\Users\\Prateek\\Desktop\\MMR New 27-07 -\\Domestic\\"; string filename= @"BILLING_BOOK_NO" + "_4005" + "_"+datetime+".CSV"; string combinepath = filepath + filename; System.IO.File.WriteAllText(combinepath,csv); }` 

您需要先将excel写入您的服务器。

 wb.SaveAs(filePath); //encrypt the file Encrypt(filePath); using (FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { using (MemoryStream memoryStream = new MemoryStream()) { byte[] bytes = new byte[file.Length]; file.Read(bytes, 0, (int)file.Length); memoryStream.Write(bytes, 0, (int)file.Length); memoryStream.WriteTo(HttpContext.Response.OutputStream); } }