标签:D365Excel OfficeOpenXml worksheet return result dialog using Import
using OfficeOpenXml;
using OfficeOpenXml.ExcelPackage;
using OfficeOpenXml.ExcelRange;
class ImportTEST extends RunBaseBatch
{
Dialog dialog;
str fileUrl;
FileName FileName;
Counter importedLines;
public boolean canGoBatch()
{
return false;
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public ClassDescription caption()
{
return "@MCS01608";
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public Object dialog()
{
FormBuildButtonControl buttonControl;
DialogGroup dlgGroup;
FormBuildGroupControl buttonGroup;
dialog = super();
dlgGroup = dialog.addGroup('');
buttonGroup = dialog.formBuildDesign().control(dlgGroup.formBuildGroup().id());
buttonControl = buttonGroup.addControl(FormControlType::Button, 'Upload');
buttonControl.text("Upload file");
buttonControl.registerOverrideMethod(methodStr(FormButtonControl, clicked),
methodStr(MSUPCProductTableImport, uploadClickedEvent),
this);
return dialog;
}
private void uploadClickedEvent(FormButtonControl _formButtonControl)
{
FileUploadTemporaryStorageResult result = File::GetFileFromUser() as FileUploadTemporaryStorageResult;
if (result && result.getUploadStatus())
{
result.getFileContentType();
fileUrl = result.getDownloadUrl();
FileName = result.getFileName();
}
}
void run()
{
#OCCRetryCount;
try
{
ttsbegin;
this.buildData();
ttscommit;
info(strFmt("@SYS59939", importedLines, fileName));
}
catch (Exception::Deadlock)
{
retry;
}
catch (Exception::UpdateConflict)
{
if (appl.ttsLevel() == 0)
{
if (xSession::currentRetryCount() >= #RetryNum)
{
throw Exception::UpdateConflictNotRecovered;
}
else
{
retry;
}
}
else
{
throw Exception::UpdateConflict;
}
}
}
public void buildData()
{
System.IO.Stream stream;
#File
stream = File::UseFileFromURL(fileUrl);
using (ExcelPackage package = new ExcelPackage(stream))
{
OfficeOpenXml.ExcelWorksheet _worksheet;
package.Load(stream);
ExcelWorksheet worksheet = package.get_Workbook().get_Worksheets().get_Item(1);
OfficeOpenXml.ExcelRange range = worksheet.Cells;
int rowCount = worksheet.Dimension.End.Row - worksheet.Dimension.Start.Row + 1;
for (int i = 2; i <= rowCount; i++)
{
}
}
protected boolean canGoBatchJournal()
{
return false;
}
}
标签:D365Excel,OfficeOpenXml,worksheet,return,result,dialog,using,Import 来源: https://www.cnblogs.com/kang01/p/15510392.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。