Spread导出为excel后系统界面的表格sheet被移除了
如题:正常saveExcel,文件保存后界面上的表格sheet被移除了,导致再次赋值时找不到对象,请问这是正常的吗?demo:
private void SaveExcelFile(string filename)
{
bool b_ret;
try
{
PUFun.FieldClear(fpSpreadImport);
fpSpreadImport.Sheets.Protect = false;
fpSpreadImport.Sheets.Visible = true;
b_ret = fpSpreadImport.SaveExcel(filename, IncludeHeaders.BothCustomOnly);
fpSpreadImport.Sheets.Visible = false;
if (b_ret == false)
{
return;
}
}
catch (System.Exception ex)
{
PUFun.ShowMsgBox(ex.Message);
}
}
1.你用的是winform还是wpf?这个是wpf板块
2.只看你的代码没法复现你说的问题,这类问题通常可能和工作簿的内容有关,请上传一个包含加载的工作簿的demo上来,我帮你看看原因,如果是bug需要报研发来调查 Richard.Ma 发表于 2024-11-5 18:57
1.你用的是winform还是wpf?这个是wpf板块
2.只看你的代码没法复现你说的问题,这类问题通常可能和工作 ...
1.不好意思版主发错版块了,是Winform的。
2.找到了解决方法,之前是我保存之后将sheet置为不可见了,然后我将sheet.visible = false这行注释之后,就能正常二次赋值。
3.有一个疑问:我反复校验过确实是sheet.visible这个属性影响,但是sheet的可见状态为什么会影响sheet的取值呢,fpsread的可见状态也不会影响赋值呀。 从你发的代码中没有看到有赋值的操作。
你说的赋值是什么意思,是给单元格设置值还是?如果是单元格的话,隐藏sheet时应该是不影响的 Richard.Ma 发表于 2024-11-8 16:58
从你发的代码中没有看到有赋值的操作。
你说的赋值是什么意思,是给单元格设置值还是?如果是单元格的话 ...
是其他的代码,给单元格赋值,操作是:
fpSpreadImport.ActiveSheet.RowCount++;
fpSpreadImport.ActiveSheet.Cells.Text = "String";
类似这样直接赋值。fpsprad的可见状态不会影响赋值,我是说里面的sheet的可见状态,会影响赋值,所以最后我把刚开始的fpSpreadImport.Sheets.Visible = true 拿掉就正常了。 抱歉,通过你的描述和代码还是不知道如何复现问题。我建议你可以发一个复现问题的demo项目上来,我来协助调查一下是什么原因
页:
[1]