在 xlsxwriter 上插入图像或超链接后如何添加边框
How do I add a border after inserting an image or a hyperlink on xlswriter
我正在为 Django 使用 xlswriter。我不确定在插入图像或 hyperlink 后如何添加完整边框。请记住,两个代码都在循环中。
#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,
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
}
)
以及如何在插入 link 后为单元格添加完整边框?
worksheet.write_url(row, 2, prod.product.link, 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', 'http://www.python.org/', link_format, "String 1")
# Same as the previous example with named arguments.
worksheet.write_url('B4', 'http://www.python.org/', string="String 2", cell_format=link_format)
workbook.close()
输出:
请参阅 worksheet.write_url() 上的文档。
我正在为 Django 使用 xlswriter。我不确定在插入图像或 hyperlink 后如何添加完整边框。请记住,两个代码都在循环中。
#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,
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
}
)
以及如何在插入 link 后为单元格添加完整边框?
worksheet.write_url(row, 2, prod.product.link, 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', 'http://www.python.org/', link_format, "String 1")
# Same as the previous example with named arguments.
worksheet.write_url('B4', 'http://www.python.org/', string="String 2", cell_format=link_format)
workbook.close()
输出:
请参阅 worksheet.write_url() 上的文档。