Hello,
I want to import data from excel sheet into a blob field. Please help me with the code. I am attaching my code here, please suggest me what to modify.
Local Procedure GetValueAtCellBlob(RowNo: Integer; ColNo: Integer): BigText
var
TempBlob: Codeunit "Temp Blob";
InStream: InStream;
OutStream: OutStream;
CellValue: BigText;
BlobText: Text;
begin
TempExcelBuffer.Reset();
If TempExcelBuffer.Get(RowNo, ColNo) then begin
TempExcelBuffer.CalcFields("Cell Value as Blob");
if TempExcelBuffer."Cell Value as Blob".Length <> 0 then begin
TempExcelBuffer.CalcFields("Cell Value as Blob");
TempExcelBuffer."Cell Value as Blob".CreateInStream(InStream);
InStream.ReadText(BlobText);
CellValue.AddText(BlobText);
end;
end;
exit(CellValue);
end;
Local Procedure ImportblobBasicData(var pR_itemrecord: Record "demo item")
var
localItemRecord: Record "demo item";
demoitemID: code[50];
TempBlob: Codeunit "Temp Blob";
OutStream1: OutStream;
demoitemText: bigText;
begin
TempExcelBuffer.Reset();
if TempExcelBuffer.FindLast() then
MaxRowNo := TempExcelBuffer."Row No.";
for RowNo := 2 to MaxRowNo do begin
localItemRecord.Reset();
Evaluate(demoitemID, GetValueAtCell(RowNo, 1));
localItemRecord.SetRange("demoitem ID", demoitemID);
if localItemRecord.FindFirst() then begin
// Get description from Excel
demoitemText := GetValueAtCellBlob(RowNo, 2);
if demoitemText.Length <> 0 then begin
ReplaceSpecialCharacterInBigText(demoitemText);
localItemRecord."demoitem Description Text".CreateOutStream(OutStream1);
OutStream1.Write(demoitemText);
end;
localItemRecord.Modify();
end;
end;
end;
Local Procedure ReplaceSpecialCharacterInBigText(TextToModify: BigText)
var
TempText: Text;
OutStream: OutStream;
begin
Clear(TempText);
TextToModify.GetSubText(TempText, 1);
// Replace special characters
TempText := TempText.Replace('(¹)', '(Ø)');
TempText := TempText.Replace('ò', '•');
TempText := TempText.Replace('™', 'Ö');
TempText := TempText.Replace('Æ', '’');
Clear(TextToModify);
TextToModify.AddText(TempText);
end;