2017-05-03 69 views
0

我有一個excel文件,需要訪問,替換部分文本,並下載更改的文件。 但我不能保存更改,我必須始終保持版本的服務器上。讀取Excel,查找和替換文本的碎片在網頁C#應用程序

我做了幾個搜索,但我只能改變文件並保存更改。

我試着用下面的鏈接來解決,我設法查找和更改文件,但我不知道如何下載並停止保存更改。

Find and replace text in Excel using C#

非常感謝您

回答

1

文件讀入到內存流。進行更改並將其寫入字節數組。使用字節數組bytesInstream下載並且原始文件保持不變。

byte[] byteArray = File.ReadAllBytes("excelFile.xlsx"); 
using (MemoryStream ms = new MemoryStream()) 
{ 
    ms.Write(byteArray, 0, (int)byteArray.Length); 
    using (SpreadsheetDocument doc = SpreadsheetDocument.Open(ms, true)) 
    { 
     // Do work here 
    } 
    // Convert it to byte array 
    byte[] bytesInStream = ms.ToArray(); 
} 

我假定您正在使用openxml進行更改。

+0

要使用OPENXML,你可以參考[這裏](http://stackoverflow.com/questions/33719193/openxml-excel-how-to-change-value-of-a-cell-when-在Excel中替換文本value-is-in-sharedstringtable)帖子。請注意,共享字符串表僅保存插入到單元格中的文本。如果您需要更改文本出現在文本框,圖表,wordarts您需要的圖紙XML下已經抓取。 – FortyTwo

+0

非常感謝,它的工作完美 –