我是一名python程序员,我必须在excel电子表格中大量插入笔记。有没有人知道使用python脚本容易/实用的方法? (可能是一个java脚本,如果有例子的话)。
它可以在.xls,.xlsx或.ods上,并且可以在任何操作系统中(虽然我是Linux用户,所以如果我可以将我的解决方案移植到linux,那就更好了。)< / p>
我已经尝试过pyl的xlwt模块并使用csv搜索了一些,但没有成功。
答案 0 :(得分:1)
这是一些python代码,它使用Windows上的pywin32包启动Excel,打开电子表格并在单元格A1中创建注释:
>>> import win32com.client
>>> xl = win32com.client.Dispatch("Excel.Application")
>>> xl.Visible = 1
>>> wb = xl.Workbooks.Open(r'<full path of excel spreadsheet>')
>>> sheet = wb.ActiveSheet
>>> sheet.Range("A1").AddComment()
<COMObject AddComment>
>>> sheet.Range("A1").Comment.Visible = True
>>> sheet.Range("A1").Comment.Text("Hello World")
u'Hello World'
>>> wb.SaveAs(r'<full path of modified spreadsheet>')
>>> wb.Close()
>>> xl.Quit()
我在Windows 7上使用Excel 2007使用python 2.7.2运行此代码并使用Excel 2007,它对我有效。
答案 1 :(得分:1)
如果您需要使用公式(以及包括注释)将大量数据导出到 Excel,您可以使用名为可移植电子表格 (pip install portable-spreadsheet
) 的库。请参阅包含用例的文档。它遵循以下逻辑:
import portable_spreadsheet as ps
sheet = ps.Spreadsheet.create_new_sheet(5, 5)
# Set values
sheet.iloc[0, 0] = 25 # Set A1
sheet.iloc[1, 0] = sheet.iloc[0, 0] # reference to A1
# Export to Excel
sheet.to_excel('output/sample.xlsx')
它的工作方式与 Pandas Dataframe 类似。
答案 2 :(得分:0)
您可以为此使用 openpyxl。
from openpyxl import Workbook
from openpyxl.comments import Comment
wb = Workbook()
ws = wb.active
comment = Comment("This is a comment!", "Author")
# comment.width =
ws['A1'].comment = comment
wb.save('CommentTest.xlsx')
wb.close()