保存为Xlsx后ActiveSheet.Tag的属性值丢失
为什么保存为xml格式时,有包含ActiveSheet.Tag的属性,保存为xlsx格式后,ActiveSheet.Tag的属性值丢失代码如下:
public MainWindow()
{
InitializeComponent();
this.Loaded += MainWindow_Loaded;
}
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
GcSpreadSheet spread2 = new GcSpreadSheet();
using (MemoryStream stream = new MemoryStream(GetXlsxFormatFileContent()))
{
spread2.OpenExcel(stream);
//spread2.OpenXml(stream);
}
object tag = spread2.ActiveSheet.Tag;
MessageBox.Show(tag == null ? "不存在Tag值" : tag.ToString());
}
private byte[] GetXlsxFormatFileContent()
{
GcSpreadSheet spread1 = new GcSpreadSheet();
spread1.ActiveSheet.Tag = "这是Tag属性";
spread1.ActiveSheet.Cells.Text = "这是A1";
using (MemoryStream stream = new MemoryStream())
{
spread1.SaveExcel(stream, ExcelFileFormat.XLSX, ExcelSaveFlags.SaveAsViewed);
//spread1.SaveXml(stream);
return stream.ToArray();
}
}
同时单元格的Tag也丢失 您好,Excel 是没有tag这个概念的,所以导出后也没有地方可保存。
tag是给开发人员使用保存临时信息的。 因为当前同时使用GcSpreadSheet和SpreadJS控件,现在GcSpreadSheet保存文件后在SpreadJS展示文件及录入。因为SPreadJS不支持带入XML文件,除了两个控件都保存为Xlsx方案(无tag属性,tooltip原本都保存在tag属性,tooltipd丢失)外还有其他方案可使用吗 一般方案都是模板和数据分开保存,模板可以保存为Excel,数据在数据库里存放,展示的时候再设置到页面上。
您可情况可以专门将所有tag单独保存一个文件,spreadjs加载时候也去读取这个设置。
页:
[1]