Gembox を使用して、Web アプリケーションから一部の情報を Excel スプレッドシートにエクスポートしようとしています。
デバッグ時に SaveExcelFile メソッド全体をステップ実行できますが、何も起こらないようで、ファイルがダウンロードされず、問題を解決するための正しい方向に私を向けるエラーはないようです。
private void SaveExcelFile(ExcelDataModel excelDataModel)
{
var workbook = new ExcelFile();
ExcelWorksheet employeesWorksheet = workbook.Worksheets.Add("Employees");
ExcelWorksheet contractsWorksheet = workbook.Worksheets.Add("Contracts");
employeesWorksheet.Cells["A1"].Value = "Employees:";
employeesWorksheet.InsertDataTable(excelDataModel.EmployeeDatatable,
new InsertDataTableOptions
{
ColumnHeaders = true,
StartRow = 3
});
contractsWorksheet.Cells["A1"].Value = "Contracts:";
contractsWorksheet.InsertDataTable(excelDataModel.ContractDatatable,
new InsertDataTableOptions
{
ColumnHeaders = true,
StartRow = 3
});
workbook.Save("Employees.xls");
}
渡されるモデルには、次の 2 つの DataTable が含まれているだけです。
public class ExcelDataModel
{
public DataTable EmployeeDatatable { get; set; }
public DataTable ContractDatatable { get; set; }
}
SaveExcelFile メソッドを次から呼び出しています。
public async Task<ActionResult> ExportEmployees()
{
SpreadsheetInfo.SetLicense(ConfigurationManager.AppSettings["GemBoxSpreadsheetSerialKey"]);
var response = await **I have removed the call/url but this just calls a controller method on the api**;
if (response.IsSuccessStatusCode)
{
var data = response.Content.ReadAsStringAsync().Result;
var model = JsonConvert.DeserializeObject<ExcelDataModel>(data);
SaveExcelFile(model);
return Json(new { success = true, message = "Successfully exported employees" }, JsonRequestBehavior.AllowGet);
}
return Json(new { success = false, message = "Failed to export employees to excel" }, JsonRequestBehavior.AllowGet);
}
渡されたモデルは問題ないようです。データテーブルには正しいデータが入力されています。