将worksheet.hide_gridlines(2)设置为特定范围的单元格

时间:2017-10-14 13:29:51

标签: excel python-2.7 xlsxwriter

我正在从熊猫创建Excel文件,我使用worksheet.hide_gridlines(2) 所有网格线都隐藏在我当前工作表中的问题。我需要隐藏一系列单元格,例如A1:I80。我该怎么做?

2 个答案:

答案 0 :(得分:1)

据我所知,在Excel中无法隐藏范围的网格线。整个工作表的网格线都可以打开或关闭。

作为一种解决方法,您可以关闭网格线,然后为要显示它们的每个单元格添加边框。

作为第一步,您应该弄清楚如何在Excel中执行您想要执行的操作,然后将其应用于XlsxWriter程序。

答案 1 :(得分:1)

我已经整理了一个答案,它将删除特定行的网格线。您可以修改它以对一系列单元格执行此操作。

这个完全可重现的示例要求您仅为示例下载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()

在下面的输出中,您可以看到第二行删除了网格线。 Second Row - Gridlines removes image