将 worksheet.hide_gridlines(2) 设置为特定范围的单元格
Set worksheet.hide_gridlines(2) to certain range of cells
我正在从 pandas 创建 Excel 文件并且我正在使用 worksheet.hide_gridlines(2)
我当前worksheet.I中所有网格线都隐藏的问题需要隐藏一个单元格范围,例如A1:I80。我该怎么做?
据我所知,在 Excel 中不可能隐藏范围内的网格线。整个工作表的网格线打开或关闭。
作为解决方法,您可以关闭网格线,然后为每个要显示网格线的单元格添加边框。
作为第一步,您应该弄清楚如何在 Excel 中做您想做的事情,然后将其应用到 XlsxWriter 程序。
我整理了一个答案,将删除特定行的网格线。您可以修改它以针对一系列单元格执行此操作。
这个完全可重现的示例需要您下载 pandas_datareader 模块,仅供示例使用。
import pandas as pd
import xlsxwriter
import pandas_datareader.data as web
#pull in your own dataframe and remove the next two lines
df = web.DataReader("AMZN", 'google')
df = df.tail(180)
writer = pd.ExcelWriter('Test.xlsx', engine='xlsxwriter')
df.transpose().to_excel(writer, sheet_name='Sheet1')
workbook = writer.book
ws = writer.sheets['Sheet1']
format1 = workbook.add_format({
'bg_color': 'white',
'pattern':1,
})
format2 = workbook.add_format({
'num_format': 'dd/mm/yy',
'bold': 1,
'text_wrap': 1,
})
ws.set_column(1, len(df), 30)
#if you're using a different df remove format2 - it's for a date
ws.set_row(0, 20, format2)
ws.write_row('B2', df['Open'], format1)
workbook.close()
在下面的输出中,您可以看到第二行的网格线已被删除。
我正在从 pandas 创建 Excel 文件并且我正在使用 worksheet.hide_gridlines(2)
我当前worksheet.I中所有网格线都隐藏的问题需要隐藏一个单元格范围,例如A1:I80。我该怎么做?
据我所知,在 Excel 中不可能隐藏范围内的网格线。整个工作表的网格线打开或关闭。
作为解决方法,您可以关闭网格线,然后为每个要显示网格线的单元格添加边框。
作为第一步,您应该弄清楚如何在 Excel 中做您想做的事情,然后将其应用到 XlsxWriter 程序。
我整理了一个答案,将删除特定行的网格线。您可以修改它以针对一系列单元格执行此操作。
这个完全可重现的示例需要您下载 pandas_datareader 模块,仅供示例使用。
import pandas as pd
import xlsxwriter
import pandas_datareader.data as web
#pull in your own dataframe and remove the next two lines
df = web.DataReader("AMZN", 'google')
df = df.tail(180)
writer = pd.ExcelWriter('Test.xlsx', engine='xlsxwriter')
df.transpose().to_excel(writer, sheet_name='Sheet1')
workbook = writer.book
ws = writer.sheets['Sheet1']
format1 = workbook.add_format({
'bg_color': 'white',
'pattern':1,
})
format2 = workbook.add_format({
'num_format': 'dd/mm/yy',
'bold': 1,
'text_wrap': 1,
})
ws.set_column(1, len(df), 30)
#if you're using a different df remove format2 - it's for a date
ws.set_row(0, 20, format2)
ws.write_row('B2', df['Open'], format1)
workbook.close()
在下面的输出中,您可以看到第二行的网格线已被删除。