Ebben az oktatóanyagban megtudjuk, hogyan távolíthatja el az Excel-képletet a tartalom eltávolítása nélkül a C#-ban. Néha meg kell osztanunk másokkal az Excel fájlokat, amelyek számított értékeket tartalmaznak, de nem akarjuk feltenni a képleteinket. Ehhez törölni kell az Excel-képletet, de a tartalmat meg kell tartani C#-ban, a következő lépésekben leírtak szerint.
Az Excel képlet eltávolításának lépései, de az érték megtartása a C# használatával
- Adja hozzá a(z) Aspose.Cells for .NET elemet a projekthez a NuGet csomagkezelő segítségével
- Adjon hozzá hivatkozást a System és az Aspose.Cells névtérhez
- Példányos licenc a próbaverzió vízjelének elkerülése érdekében
- Töltse be az adatokat és képletet tartalmazó workbook fájlt
- Szerezze meg annak a cellának a hivatkozását, amelynek képletét el kell távolítani
- Tárolja az értéket egy ideiglenes változóban, és távolítsa el a képletet
- Állítsa vissza a cellaértéket az ideiglenes változó használatával
- Mentse el a munkafüzetet
A fenti lépések leírják az Excel képlet eltávolításának folyamatát, de az érték C#-ban marad. A munkalapról elérjük a kívánt cellát, és elmentjük az értékét egy ideiglenes változóba. Ezután eltávolítjuk a képletet a cellából, és újra feltöltjük értékkel az ideiglenes változóból. Végül elmentjük a munkafüzetet.
Kód az Excel képlet eltávolításához és az érték C#-ban tartásához
using System; | |
using Aspose.Cells; | |
namespace RemoveExcelFormulaWithoutRemovingContentsInCSharp | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
// Instantiate license to avoid trial version watermark | |
License license = new License(); | |
license.SetLicense("Aspose.Cells.lic"); | |
// Load the workbook containing data and formula | |
Workbook workbookWithFormula = new Workbook("WorkbookWithFormula.xlsx"); | |
// Get the reference of the cell whose formula is to be removed | |
Cell cellWithFormula = workbookWithFormula.Worksheets[0].Cells["C1"]; | |
// Store value in a temporary variable | |
Object tempData = cellWithFormula.Value; | |
// Remove formula | |
cellWithFormula.Formula = ""; | |
// Reset cell value using the temporary variable | |
cellWithFormula.Value = tempData; | |
// Save the workbook | |
workbookWithFormula.Save("WorkbookWithoutFormula.xlsx"); | |
} | |
} | |
} |
A fenti mintakód egyetlen cellából távolítja el a képletet. Ha azonban képleteket szeretne eltávolítani a teljes munkafüzetből, használhatja a WorkSheet.Cells.RemoveFormulas()-ot, amely eltávolítja az összes képletet a teljes munkafüzetből, és minden cellaértéket lecserél a megfelelő képleteredményre. A következő kóddal törölhető az Excel képletek, de a tartalom C#-ban maradhat a teljes munkafüzetből.
Kód az Excel képletek eltávolításához, de megtartja az értéket a C# használatával
using System; | |
using Aspose.Cells; | |
namespace RemoveAllExcelFormulasWithoutRemovingContentsInCSharp | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
// To avoid trial version watermark first instantiate the license | |
License license = new License(); | |
license.SetLicense("Aspose.Cells.lic"); | |
// Load the target workbook from which all formulas are to be deleted | |
Workbook workbookWithFormula = new Workbook("WorkbookWithFormulas.xlsx"); | |
// Iterate through all the worksheets to remove formulas | |
foreach(Worksheet worksheet in workbookWithFormula.Worksheets) | |
worksheet.Cells.RemoveFormulas(); | |
// Save the resultant workbook | |
workbookWithFormula.Save("WorkbookWithoutFormulas.xlsx"); | |
} | |
} | |
} |
Vegyük figyelembe, hogy ehhez a művelethez sem MS Excelre nincs szükségünk, sem interop-ot nem használunk. Ha az Excel-fájl készen áll, más formátumokba is konvertálhatja a Hogyan készítsünk XPS-t Excelből C#-ban cikkben leírtak szerint.