Tag: asp.net mvc 4

保存并删除使用HttpPostedFileBase保存的Excel文件

我正在上传Excel文件并从中提取数据并将其保存到数据库中。 我正在使用MVC4 .NET框架。 这是我从类的代码: public static void Upload(HttpPostedFileBase File) { NIKEntities1 obj = new NIKEntities1(); MyApp = new Excel.Application(); MyApp.Visible = false; string extension = System.IO.Path.GetExtension(File.FileName); string pic = "Excel" + extension; string path = System.IO.Path.Combine(System.Web.HttpContext.Current.Server.MapPath("~/Excel"), pic); File.SaveAs(path); MyBook = MyApp.Workbooks.Open(path); MySheet = (Excel.Worksheet)MyBook.Sheets[1]; // Explicit cast is not required here int lastRow = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row; […]

将筛选结果导出为在MVC 4(无网页表单)

我无法将筛选结果导出到Excel文件。 我只是学习ASP.Net和MVC。 我已经在这里看过这个build议,但是我无法完成它的工作。 我不是很确定如何使用另一个链接中提到的EditorTemplate。 目前,当我导出时,不pipefilter如何,所有的数据都被导出。 如何将视图上显示的内容导出到Excel文件,而不使用Web窗体? 谢谢.. 这是我的看法,Index.cshtml: @model IEnumerable<ExportToExcel.Models.Student> @{ ViewBag.Title = "Index"; } <h2>Index</h2> <p> @Html.ActionLink("Create New", "Create") @using (Html.BeginForm("Index","Student",FormMethod.Get)) { <p> Name: @Html.TextBox("NameSearch") <input type="submit" value="Search" /> @Html.ActionLink("Export to Excel","ExportToExcel") </p> } </p> <table class="table"> <tr> <th> @Html.DisplayNameFor(model => model.Name) </th> <th> @Html.DisplayNameFor(model => model.Age) </th> <th> @Html.DisplayNameFor(model => model.Marks) </th> <th></th> […]

Windows Azure远程站点“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册

以下代码在我的本地开发机器上正常工作。 但是,当我在Azure远程Web站点上部署它时,出现以下错误消息。 我已经看过SO答案和谷歌search结果,但它仍然不清楚我必须在我的本地机器上安装什么,以便当我将代码推送到Azure时,错误将消失。 错误信息: “Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。 我的代码 string filename = Server.MapPath("/") + "MyExcelDataFile.xlsx"; string connectionString = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 8.0;HDR=YES\";", filename); string query = String.Format("SELECT * from [{0}$]", "myRange1"); OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, connectionString); DataSet dataSet = new DataSet(); dataAdapter.Fill(dataSet); DataTable YourTable = dataSet.Tables[0];

是否有可能读取公式的Excel单元格值?

在我的下面的代码中,c4的值是零。 C4单元具有公式SUM(C2:C3)。 EPPlus是否可以通过配方来读取细胞? 为什么c4被设置为零而不是12。 using (var package = new ExcelPackage(existingFile)) { ExcelWorkbook workBook = package.Workbook; var currentWorksheet = workBook.Worksheets.First(); currentWorksheet.Cells["C2"].Value = 5; currentWorksheet.Cells["C3"].Value = 7; var c4 = Convert.ToDouble(currentWorksheet.Cells["C4"].Value); //c4 is zero. why? }

NPOI – 从模板文件创build保存工作簿

这是我第二次处理NPOI。 我从这样的模板excel文件创build工作簿。 string dldir = AppDomain.CurrentDomain.BaseDirectory + "Download\\excel\\"; string uldir = AppDomain.CurrentDomain.BaseDirectory + "Upload\\default_export_file\\"; string filename = DateTime.Now.ToString("yyyy-Md") + "_" + user.first_name + "_" + query.default_export_filename; System.IO.File.Delete(Path.Combine(dldir, filename)); //System.IO.File.Copy(Path.Combine(uldir, query.default_export_filename), Path.Combine(dldir, filename)); HSSFWorkbook hssfwb; using (FileStream file = new FileStream(Path.Combine(uldir, query.default_export_filename), FileMode.Open, FileAccess.ReadWrite)) { hssfwb = new HSSFWorkbook(file); } MemoryStream mstream = new MemoryStream(); hssfwb.Write(mstream); […]

在Excel中通过epplus调用公式

我在ASP.NET MVC4 C#项目中有一个Excel工作表,我可以使用EPPlus成功读取Excel工作表。 现在,我希望能够将2个数字传入单元格C:2和C:3,并且能够在C = 4中调用= SUM(C2:C3)的公式。 所以从C#我想传入4和6,并调用公式,并能够从C:4 40(SUM和10和30)返回结果。 我如何在C#中完成。 在下面的代码中,我得到了d.Average的零 d.Average = Convert.ToDouble(currentWorksheet.Cells["C4"].Value); 这是我在c#中的以下代码遍历一行。 using (var package = new ExcelPackage(existingFile)) { ExcelWorkbook workBook = package.Workbook; var currentWorksheet = workBook.Worksheets.First(); currentWorksheet.Workbook.CalcMode = ExcelCalcMode.Automatic; currentWorksheet.Cells["C4"].Formula = "=SUM(C2:C3)"; currentWorksheet.Cells["C2"].Value = 10; currentWorksheet.Cells["C3"].Value = 30; package.Save(); } using (var package = new ExcelPackage(existingFile)) { ExcelWorkbook workBook = package.Workbook; […]

您尝试打开的文件格式与Asp.Net中的文件扩展名所指定的格式不同

您试图打开的文件格式不同于当试图在Excel中打开文件时由文件扩展名c#错误指定的格式。 这是我的代码 public ActionResult Export(string filterBy) { MemoryStream output = new MemoryStream(); StreamWriter writer = new StreamWriter(output, Encoding.UTF8); var data = City.GetAll().Select(o => new { CountryName = o.CountryName, StateName = o.StateName, o.City.Name, Title = o.City.STDCode }).ToList(); var grid = new GridView { DataSource = data }; grid.DataBind(); var htw = new HtmlTextWriter(writer); grid.RenderControl(htw); writer.Flush(); output.Position […]