D365 数据保存Excel
using System.Drawing;
using DrawColor = System.Drawing.Color;
using OfficeOpenXml;
using OfficeOpenXml.Style;
class SerializationMasterToExcel
{
#File
FormDataSource formDataSource;
public static void main(Args _args)
{
SerializationMasterToExcel MasterToExcel = new KKC_SerializationMasterToExcel();
MasterToExcel.ParmformDataSource(_args.record().DataSource());
MasterToExcel.run();
}
public formDataSource ParmformDataSource(FormDataSource _source = formDataSource)
{
formDataSource = _source;
return formDataSource;
}
public void export()
{
SerializtionmasterTable masterTable;
// File::SendFileToUser()
System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
System.DateTime datetime = new System.DateTime();
datetime = DateTimeUtil::utcNow();
using (var package = new OfficeOpenXml.ExcelPackage(memoryStream))
{
For (masterTable = formDataSource.getFirst(true) ? formDataSource.getFirst(true) : formDataSource.cursor();
masterTable; masterTable = formDataSource.getNext())
{
var worksheets = package.get_Workbook().get_Worksheets();
var worksheet = worksheets.Add(masterTable.ProductValue);
var cells = worksheet.get_Cells();
var cell = cells.get_Item(1,1);
cell.set_Value("File Control");
cell = cells.get_Item(2,1);
cell.set_Value("Created By");
cell = cells.get_Item(2,2);
cell.set_Value(masterTable.CreatedBy);
cell = cells.get_Item(3,1);
cell.set_Value("Created On");
cell = cells.get_Item(3,2);
cell.set_Value(strFmt('%1',datetime.ToString('yyyyMMddhhmmss')));
cell = cells.get_Item(4,1);
cell.set_Value("Exported From");
cell = cells.get_Item(4,2);
cell.set_Value("Dynamics 365");
cell = cells.get_Item(5,1);
cell.set_Value("Location Fields");
cell = cells.get_Item(6,1);
cell.set_Value("Location Name");
cell = cells.get_Item(6,2);
cell.set_Value(masterTable.LocationName);
}
package.SaveAs(memoryStream);
File::SendFileToUser(memoryStream,this.ParmFileName());
}
}
public str getFileExtension()
{
//return #xlsx;
return #xlsx;
}
private void headerCell(ExcelWorksheet _sheet, int _row, int _col, str _value)
{
var range = _sheet.get_Cells().get_Item(_row, _col);
range.set_Value(_value);
var style = range.get_Style();
style.get_Fill().set_PatternType(ExcelFillStyle::Solid);
style.get_Fill().get_BackgroundColor().SetColor(DrawColor::AliceBlue);
style.set_HorizontalAlignment(ExcelHorizontalAlignment::Center);
style.get_Border().BorderAround(ExcelBorderStyle::Thin);
}
public Filename ParmFileName()
{
System.DateTime datetime = new System.DateTime();
datetime = DateTimeUtil::utcNow();
Filename filename = strFmt("%1.xlsx",datetime.ToString("yyyyMMdd"));
return filename;
}
}
浙公网安备 33010602011771号