Hogyan távolíthatunk el egy képletet az Excelben a tartalom eltávolítása nélkül a C#-ban

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

  1. Adja hozzá a(z) Aspose.Cells for .NET elemet a projekthez a NuGet csomagkezelő segítségével
  2. Adjon hozzá hivatkozást a System és az Aspose.Cells névtérhez
  3. Példányos licenc a próbaverzió vízjelének elkerülése érdekében
  4. Töltse be az adatokat és képletet tartalmazó workbook fájlt
  5. Szerezze meg annak a cellának a hivatkozását, amelynek képletét el kell távolítani
  6. Tárolja az értéket egy ideiglenes változóban, és távolítsa el a képletet
  7. Állítsa vissza a cellaértéket az ideiglenes változó használatával
  8. 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.

 Magyar