Hi Aspose team,
I have a xls sample that has problem. The original file may be a virus file which is detected by several engines. You can see here: here
I tried to use Aspose Cells to remove macro, but the result is still infected. The result file is : here
Here is my current code:
using(var inStream = new FileStream(inputXlsFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
var opt = new LoadOptions
{
MemorySetting = MemorySetting.MemoryPreference
};
workbook = new Workbook(inStream, opt);
string nameOfSheet = string.Empty;
foreach(var wooksheet in workbook.Worksheets)
{
if(wooksheet.IsVisible)
{
nameOfSheet = wooksheet.Name;
break;
}
}
if(workbook.HasMacro)
{
workbook.RemoveMacro();
}
for(int i = workbook.Worksheets.Count - 1; i >= 0; i--)
{
switch(workbook.Worksheets[i].Type)
{
case SheetType.BIFF4Macro:
case SheetType.VB:
workbook.Worksheets.Names.Remove(workbook.Worksheets[i].Name);
workbook.Worksheets.RemoveAt(i);
break;
default:
break;
}
}
bool hasVisibleWorksheet = false;
foreach(var worksheet in workbook.Worksheets)
{
if(worksheet.IsVisible)
{
hasVisibleWorksheet = true;
break;
}
}
if(!hasVisibleWorksheet)
workbook.Worksheets.Add(nameOfSheet);
workbook.RemoveUnusedStyles();
Stream stream = workbook.SaveToStream();
using(var cf = new OpenMcdf.CompoundFile(stream))
{
cf.Save(outputXlsFile);
}
}
Is there a way to remove the threats from this output file?
When I debug with output file, I see workbook.HasMacro = true and still have some elements in workbook.VbaProject.Modules. Maybe some macros haven’t been removed yet.
I attached sample below. Please help me investigate . Thanks!
xls_sample.zip (382.6 KB)
image.png (37.1 KB)