กด Export แล้วไม่ขึ้นโหลด แต่ในไฟล์Excelมีข้อมูลบันทึก? จากหัวข้อกระทู้ได้ลองทำตามเว็ปนี้
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้https://www.gemboxsoftware.com/spreadsheet/examples/c-sharp-vb-net-create-excel-chart/301 แต่ในเว็ปมันขึ้นโหลด แต่พอมาลองกับตัวเองเปลี่ยนแปลงโค๊ดนิดหน่อย พอกดปุ๊บมันไปหน้า Blank พอไปเช็คในไฟล์ก็มีข้อมูลเข้ามา พอจะมีวิธีแก้ไหมครับ
นี่โค๊ดครับ
//MVCChartController.cs
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Helpers;
using TestChart.Models;
using System.Collections;
using System.IO;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Web.UI.DataVisualization.Charting;
using System.Data;
using GemBox.Spreadsheet;
using GemBox.Spreadsheet.Charts;
namespace TestChart.Controllers
{
public class MVCChartController : Controller
{
public ActionResult Index()
{
return View();
}
[STAThread]
public void btnExcel_Click(string[] args)
{
SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");
ExcelFile ef = new ExcelFile();
ExcelWorksheet ws = ef.Worksheets.Add("Chart");
int numberOfEmployees = 4;
var chart = ws.Charts.Add(ChartType.Bar, "D2", "M25");
chart.SelectData(ws.Cells.GetSubrangeAbsolute(0, 0, numberOfEmployees, 1), true);
var names = new string[] { "John Doe", "Fred Nurk", "Hans Meier", "Ivan Horvat" };
var random = new Random();
for (int i = 0; i < numberOfEmployees; i++)
{
ws.Cells[i + 1, 0].Value = names[i % names.Length] + (i < names.Length ? string.Empty : ' ' + (i / names.Length + 1).ToString());
ws.Cells[i + 1, 1].SetValue(random.Next(1000, 5000));
}
ws.Cells[0, 0].Value = "Name";
ws.Cells[0, 1].Value = "Salary";
ws.Cells[0, 0].Style.Font.Weight = ws.Cells[0, 1].Style.Font.Weight = ExcelFont.BoldWeight;
ws.Columns[0].Width = (int)LengthUnitConverter.Convert(3, LengthUnit.Centimeter, LengthUnit.ZeroCharacterWidth256thPart);
ws.Columns[1].Style.NumberFormat = "\"$\"#,##0";
ws.PrintOptions.FitWorksheetWidthToPages = ws.PrintOptions.FitWorksheetHeightToPages = 1;
ef.Save("Chart.xlsx");
}
}
}
//Index.cshtml
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<div>
<a href="@Url.Action("btnExcel_Click")" id="btnExcel">Export To Excel</a>
</div>
กด Export แล้วไม่ขึ้นโหลด แต่ในไฟล์Excelมีข้อมูลบันทึก?
นี่โค๊ดครับ
//MVCChartController.cs
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
//Index.cshtml
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้