Aspose.cells for net sheet.cells.import_custom_objects

sheet.cells.import_custom_objects的用法有吗, 文档没注明

@zengweiyu

请问您能否提供更多关于您想要实现的功能或遇到的问题的信息?

sheet.cells.import_custom_objects的用法

@zengweiyu
请参考以下样例代码并查看附件。output_custom.zip (6.7 KB)

from aspose.cells import Workbook, ImportTableOptions

peoples = [["Name", "Age", "Gender"], ["Alice", 30, "Female"], ["Bob", 25, "Male"], ["Charlie", 35, "Male"]]

workbook = Workbook()

worksheet = workbook.worksheets[0]

options = ImportTableOptions()
options.is_field_name_shown = False
options.export_caption_as_field_name = False
# 导入自定义对象
worksheet.cells.import_custom_objects(peoples, 0, 0, options)
workbook.save("output_custom.xlsx")

那这个跟import_array_list有什么本质区别

@zengweiyu
感谢你的反馈。目前导入自定义对象的方法还存在一些问题。我们正在努力研究并解决它。一旦有更新,我们将即时通知你。

我们已经在内部问题跟踪系统中打开了以下新问题单,并将根据Free Support Policies中提到的条款提供修复。

问题单号:CELLSPYTHONNET-258

另外 worksheet.cells.import_data的用法有吗

能否提供pandas DataFrame直接导入Excel的导入方法, 类似C# Aspose.Cells中的import_data

@zengweiyu
关于如何导入Pandas数据到Excel,请参考以下文档。

@zengweiyu
Cells.import_custom_objects是对标
Import Data into Worksheet|Documentation . 但是我们的wrapper 工具还不支持 把Python class 转义成.Net Class. 所以现在请忽略Python via .Net.
如果你确实需要这个方法,我们会研究如何在python 产品中实现该功能。

需要使用,帮忙反馈一下 :grinning: :grinning: :grinning:

希望import系列方法能够对标Net Aspose.Cells, 否则使用成本(从C#迁移至Python)会很大, 包括但不限于ImportDataGrid, ImportDataGridAsString, ImportDataRow, ImportDataView, ImportTwoDimensionArray等数据结构的平替

@zengweiyu
ImportDataGrid(System.Web.UI.WebControls.DataGrid …)
这样的参数是.NET framework的,和DataTable类似,Python中没有这样的数据类型,无法实现。Python有自己的数据结构就像.NET有自己的一样,都应该遵循各自编程习惯。其他我们尽量实现或找到平替方法。另外,您使用什么python库导入你们的数据?你用哪些python 类来代替 .Net类

@zengweiyu
如果您想将自定义class通过Cells.import_custom_objects插入到Excel, 由于.net 无法识别Python传入的class,因此需要转换, 希望以下代码能给您带来帮助。

import aspose.cells as ac
from aspose.cells import Workbook, ImportTableOptions
class Person:
    def __init__(self, name, age, gender):
        self.Name = name
        self.Age = age
        self.Gender = gender
people = [
    Person("Alice", 30, "Female"),
    Person("Bob", 25, "Male"),
    Person("Charlie", 35, "Male")
]
peopleCollection = [["Name", "Age", "Gender"]]
for person in people:
    peopleCollection.append([person.Name, person.Age, person.Gender])
workbook = Workbook()
worksheet = workbook.worksheets[0]
options = ImportTableOptions()
options.is_field_name_shown = False
#options.export_caption_as_field_name = False
worksheet.cells.import_custom_objects(peopleCollection, 0, 0, options)
workbook.save("output_custom_object.xlsx")