Spire.XLS is a professional Excel API that enables developers to create, manage, manipulate, convert and print Excel worksheets. Get free and professional technical support for Spire.XLS for .NET, Java, Android, C++, Python.

Tue Feb 09, 2021 2:38 pm

我将test1.xlsx和test2.xlsx中的两个worksheet复制到一个新的output.xlsx中。
但是打开output.xlsx发现同样的worksheet与原来的颜色显示不一致,
test1中使用的是叫Office2007-2010的调色板,而新建的output.xlsx中是名为Office的调色板颜色。
Code: Select all
   
            Workbook workbook_standard = new Workbook();
            Workbook workbook_check = new Workbook();
            workbook_standard.LoadFromFile(inputStandardExcelPath);
            workbook_check.LoadFromFile(inputCheckExcelPath);

            Worksheet ws_standard = workbook_standard.Worksheets[formSheetName];
            Worksheet ws_check = workbook_check.Worksheets[checkFileSheetName];

            Workbook newbook = new Workbook();
            newbook.Version = ExcelVersion.Version2013;
            newbook.Worksheets.Clear();

            newbook.Worksheets.AddCopy(ws_standard);
            newbook.Worksheets.AddCopy(ws_check);

            newbook.Worksheets[0].Name = "formsheet";
            newbook.Worksheets[1].Name = "checkfile";
            newbook.Worksheets[0].Activate();

            newbook.SaveToFile(saveExcelPath, ExcelVersion.Version2013);


我发现workbook类有一个方法叫ChangePaletteColor(Color color, int index);
这个方法能否实现我的目的,如何设置参数?

urdoomurdoom
 
Posts: 1
Joined: Tue Feb 09, 2021 2:31 pm

Wed Feb 10, 2021 5:49 am

您好,

感谢您的咨询。
我们产品创建的Workbook实例,默认是使用的第一个主题颜色(Office)。所以您将两个worksheet复制到一个新的output.xlsx中,主题颜色将是Office。
很抱歉目前我们Spire.XLS还不支持设置主题颜色。不过我们已经将其作为新功能添加到了我们产品的升级列表中,编号是SPIREXLS-3117。如果该功能实现了,我们会立即通知您。

Sincerely,
Brian
E-icelbue support team
User avatar

Brian.Li
 
Posts: 1271
Joined: Mon Oct 19, 2020 3:04 am

Fri Mar 12, 2021 6:31 am

您好,

很高兴通知您,我们刚发布的Spire.XLS Pack(Hotfix) Version:11.3.4实现了之前SPIREXLS-3117提到的修改主题颜色的功能,请参考以下代码进行测试。
Code: Select all
//拷贝workbook的theme

workbook.CopyTheme(srcWorkbook);

//设置workbook中默认theme的某一类型颜色

workbook.SetThemeColor(ThemeColorType.Accent1, Color.Blue);

//获取workbook中默认theme的某一类型颜色

Color color = workbook.GetThemeColor(ThemeColorType.Accent2);

//设置style 为theme color

style.SetThemeColor(ThemeColorType.Lt1, 0.1);

//获取style的themeColor(type ,tint)

bool isThemeColor = style.GetThemeColor(out themeType, out tint);

下载链接如下:
Website link: https://www.e-iceblue.com/Download/down ... t-now.html
Nuget link: https://www.nuget.org/packages/Spire.XLS/11.3.4

Sincerely,
Brian
E-iceblue support team
User avatar

Brian.Li
 
Posts: 1271
Joined: Mon Oct 19, 2020 3:04 am

Return to Spire.XLS