导出csv文件
static void NJ_MF_CheckProShape(Args _args)
{
NJ_Search_Inventory NJ_Search_Inventory;
#AviFiles
str s,tempStr;
int i,RecCount;
container c,conFilter = ["Excel Files(*.csv)", "*.csv"];
SysOperationProgress simpleProgress;
TextBuffer textBuffer = new TextBuffer();
FileIoPermission perm;
counter Lines;
;
s = Winapi::getSaveFileName(0, conFilter, "","Save File", "", "");
if (s)
{
select count(RecId) from NJ_Search_Inventory where NJ_Search_Inventory.ACT_ProdShapeID == "";
RecCount = NJ_Search_Inventory.RecId;
simpleProgress = SysOperationProgress::newGeneral(#aviUpdate, 'Exporting...', RecCount);
simpleProgress.setCaption("Data Export");
simpleProgress.setAnimation(#AviFormLetter);
startlengthyoperation();
try
{
perm = new FileIoPermission(s, "w");
perm.assert();
textBuffer.appendText("tagBl,");
textBuffer.appendText("BatchId,");
textBuffer.appendText("ItemId,");
textBuffer.appendText("Category,");
textBuffer.appendText("ProductShape,");
textBuffer.appendText("\n");
while select NJ_Search_Inventory order by TagBl where NJ_Search_Inventory.ACT_ProdShapeID == ""
{
//if (StrLen())
textBuffer.appendText(strReplace(strfmt("%1,",NJ_Search_Inventory.tagBL),"\n"," "));
textBuffer.appendText(strfmt("%1,",NJ_Search_Inventory.InventBatchId));
textBuffer.appendText(strfmt("%1,",NJ_Search_Inventory.ItemId));
textBuffer.appendText(strfmt("%1,",NJ_Search_Inventory.ACT_ItemCategoryId));
textBuffer.appendText(strfmt("%1,",NJ_Search_Inventory.ACT_ProdShapeID));
textBuffer.appendText("\n");
simpleProgress.incCount();
simpleprogress.setText(strfmt("Task: %1/%2", i,RecCount));
i++;
}
Lines = textBuffer.numLines();
try
{
if (textBuffer.toFile(s))
info(strfmt("记录导出到文件 %1.共导出了 %2 行记录.",s,Lines-1));
}
catch ( Exception::Error )
{
error ("Generated file error.");
}
CodeAccessPermission::revertAssert();
}
catch (Exception::Deadlock)
{
retry;
}
}
}