我遇到了一個奇怪的問題,我在SSRS 2008解決方案中開發了3個報表,並將它們導出到excel表格中,這些表格用顏色(綠色,紅色,橙色)是故意的。當我嘗試通過複製所有表單將它們合併到一個Excel表格中時,我發現顏色變化很奇怪,我不得不手動更改它們。我嘗試使用C#代碼模仿相同的合併,這也是不太成功的。當excel表格(從SSRS導出)顏色發生變化時
手動更改顏色真的很麻煩,因爲我總共有64個報告。請建議我解決這個問題。
在此先感謝!
我遇到了一個奇怪的問題,我在SSRS 2008解決方案中開發了3個報表,並將它們導出到excel表格中,這些表格用顏色(綠色,紅色,橙色)是故意的。當我嘗試通過複製所有表單將它們合併到一個Excel表格中時,我發現顏色變化很奇怪,我不得不手動更改它們。我嘗試使用C#代碼模仿相同的合併,這也是不太成功的。當excel表格(從SSRS導出)顏色發生變化時
手動更改顏色真的很麻煩,因爲我總共有64個報告。請建議我解決這個問題。
在此先感謝!
編輯4:
我做了這個控制檯應用程序來模仿你在做什麼。
namespace ExcelConsole
{
using System.IO;
using ExcelCombine;
class Program
{
public static string Thepath { get; set; }
public static string TheFirstFile { get; set; }
public string[] files = null;
static void Main(string[] args)
{
Thepath = @"C:\Users\J\Desktop\TestingFolder\";
string[] files = Directory.GetFiles(Thepath);
TheFirstFile = files[0];
ExcelEngine.CombineWorkBooks(Thepath, "*.xls", Thepath, false, TheFirstFile);
}
}
}
我使用了你應該已經擁有的類。在上面引用的文件夾「TestingFolder」中,我放置了模板和帶有公式的副本。運行該應用程序後,它將它們組合得很好,並保持格式化/公式。
編輯5:
我想我可能已經結束了一些事情。
在上出類拔萃,我給你的代碼,更改此:
sheetToCopy.Copy(defaultWorksheet)
要這樣:
sheetToCopy.Range["A1", "AC60"].Copy();
newBook.Activate();
newBook.Sheets.Add(Type.Missing,defaultWorksheet);
newBook.ActiveSheet.Range["A1", "Z50"].Select();
newBook.ActiveSheet.PasteSpecial(XlPasteType.xlPasteAllUsingSourceTheme);
這是什麼爲我做的是保持色彩和複製數據,但無論我使用哪個粘貼選項,列寬沒有複製。
希望這有助於一點點。
添加xlApp.CutCopyMode = XlCutCopyMode.xlCopy;創建行後:xlApp = new Application(); 。我經歷了幾個論壇,這可能會幫助我們。 – KreepN
這3個報告存在於3個獨立的excel文件中是否正確? – KreepN
是的。所有3個報告存在於3個獨立的excel文件中,我需要將它們合併並製作一個統一的excel文件。 – Praveen
給我幾個,我正在爲我們開發一個應用程序,我也用它來做這件事,並且從來沒有真正想過讓我的代碼能夠做到你想要的功能,並將它們放到單獨的應用程序/代碼庫中。我會在這裏更新你的。 – KreepN