问题描述
我正在将xlswriter用于Django。我不确定在插入图像或超链接后如何添加完整边框。请记住,两个代码都在循环中。
#set cell border format
full_border = workbook.add_format(
{
'border': 1,#border size
'border_color': '#000000' #color black
}
)
#for the rest of the table
row = 4
column = 1
for prod in users_fav_products:
image_url = prod.product.image
data = urllib.request.urlopen(image_url).read()
image_name = f'favoriteproduct{row}'
file = open(image_name,"wb")
file.write(data)
file.close()
worksheet.insert_image(
row,column,image_name,{
'x_scale': 0.5,'y_scale': 0.5,'x_offset': 5,'y_offset': 5,'positioning': 1,'border': 1,# border size
'border_color': '#000000' # color black
}
)
worksheet.write_url(row,2,prod.product.link,string=prod.product.name)
worksheet.write(row,3,prod.product.reviews,full_border)
worksheet.write(row,4,prod.product.price,full_border)
row +=1
那么在插入图像后如何在单元格中添加完整边框?
worksheet.insert_image(
row,# border size
'border_color': '#000000' # color black
}
)
worksheet.write_url(row,string=prod.product.name)
解决方法
关于问题的第一部分,您无法使用XlsxWriter格式化图像的边框。
关于问题的第二部分,您可以在超链接单元格周围添加边框,如下所示:
import xlsxwriter
workbook = xlsxwriter.Workbook('hyperlink.xlsx')
worksheet = workbook.add_worksheet()
# Widen the column for clarity.
worksheet.set_column('B:B',30)
# Add a sample alternative link format.
link_format = workbook.add_format({
'font_color': 'blue','underline': 1,'border': 1,})
# Write the link.
worksheet.write_url('B2','http://www.python.org/',link_format)
# Write the link with a string alternative.
worksheet.write_url('B3',link_format,"String 1")
# Same as the previous example with named arguments.
worksheet.write_url('B4',string="String 2",cell_format=link_format)
workbook.close()
输出:
请参阅worksheet.write_url()上的文档。