gpt4 book ai didi

excel - 如何使用编程语言更改 Excel 中单元格的颜色

转载 作者:行者123 更新时间:2023-12-03 00:25:52 25 4
gpt4 key购买 nike

我在 google 上搜索了一段时间,了解使用 C++ 或 PHP 等编程语言创建 Excel 文件(*.xlsx,而不是 csv 文件)的方法。这是一个示例,http://www.the-art-of-web.com/php/dataexport/

但理想情况下,我希望能够指定每个单元格的颜色。例如,在使用 COM 对象 Excel.Application 的 VBScript 中,代码如下所示:

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
objExcel.DisplayAlerts = False
Set objWorkbook = objExcel.Workbooks.Add
Set objWorksheet = objWorkbook.Worksheets(1)
With objWorksheet
.Cells(1,1).Interior.Color=RGB(245,245,245)
...
...
...
End With
objWorkbook.SaveAs("sample.xlsx")
objExcel.Quit

如何在不使用 COM 对象的情况下做到这一点?我需要程序独立于平台工作,因此 COM 对象不是一个好的选择。

更新:here是一篇有趣的文章,生成 VBS 文件,双击 VBS 文件将通过绘制不同颜色的单元格在 Excel 中为您提供一张漂亮的图片。

最佳答案

您可以使用 python 和 XLSX Writer module 修改单元格背景。虽然它不是您提到的 C++ 或 PHP 语言,但 Python 是跨平台的,下面的代码可以在我测试过的 Fedora 机器上运行。

首先,你需要 python 和上面提到的模块。您可以通过执行以下操作来安装该模块:

pip install xlsxwriter

接下来,我们要修改第一个tutorial为“总计”值提供一点颜色。

import xlsxwriter

# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('Expenses01.xlsx')
worksheet = workbook.add_worksheet()

# Some data we want to write to the worksheet.
expenses = (
['Rent', 1000],
['Gas', 100],
['Food', 300],
['Gym', 50],
)

# Start from the first cell. Rows and columns are zero indexed.
row = 0
col = 0

green_format = workbook.add_format()
green_format.set_pattern(1) # This is optional when using a solid fill.
green_format.set_bg_color('#008000')

# Iterate over the data and write it out row by row.
for item, cost in (expenses):
worksheet.write(row, col, item)
worksheet.write(row, col + 1, cost)
row += 1

# Write a total using a formula.
worksheet.write(row, 0, 'Total')
worksheet.write(row, 1, '=SUM(B1:B4)', green_format)

workbook.close()

添加的内容就是这些行。这利用了set_bg_color功能。

green_format = workbook.add_format()
green_format.set_pattern(1) # This is optional when using a solid fill.
green_format.set_bg_color('green')

并且 =SUM 行已修改为使用此绿色格式:

worksheet.write(row, 1, '=SUM(B1:B4)', green_format)

此代码在 B5 处创建一个绿色单元格。

Excel Green Cell

关于颜色的注释:我提供了颜色“绿色”,因为这是少数 colors 之一。映射到 RGB 值。如果您需要使用这些颜色以外的颜色,您可以提供 RGB 值。 #008000 映射到 绿色

green_format.set_bg_color('#008000')

该行在功能上与上面提供的行相同。

关于excel - 如何使用编程语言更改 Excel 中单元格的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25387669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com