วิธีลบสูตรใน Excel โดยไม่ต้องลบเนื้อหาใน C#

ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีลบสูตร Excel โดยไม่ต้องลบเนื้อหาใน C# บางครั้งเราต้องแชร์ไฟล์ Excel กับไฟล์อื่นที่มีค่าจากการคำนวณ แต่เราไม่ต้องการเปิดเผยสูตรของเรา จำเป็นต้องลบสูตร Excel แต่คงเนื้อหาไว้ใน C# ตามที่อธิบายไว้ในขั้นตอนต่อไปนี้

ขั้นตอนในการลบสูตร Excel แต่เก็บค่าโดยใช้ C#

  1. เพิ่ม Aspose.Cells for .NET ในโครงการโดยใช้ NuGet package manager
  2. เพิ่มการอ้างอิงสำหรับเนมสเปซ System และ Aspose.Cells
  3. สร้างอินสแตนซ์ใบอนุญาตเพื่อหลีกเลี่ยงลายน้ำรุ่นทดลอง
  4. โหลด workbook ที่มีข้อมูลและสูตร
  5. รับข้อมูลอ้างอิงของเซลล์ที่จะเอาสูตรออก
  6. เก็บค่าในตัวแปรชั่วคราวและลบสูตร
  7. รีเซ็ตค่าเซลล์โดยใช้ตัวแปรชั่วคราว
  8. บันทึกสมุดงาน

ขั้นตอนข้างต้นอธิบายขั้นตอนการลบสูตร Excel แต่เก็บค่าไว้ใน C# เราเข้าถึงเซลล์ที่ต้องการจากแผ่นงานและบันทึกค่าในตัวแปรชั่วคราว จากนั้นเราลบสูตรออกจากเซลล์และเติมค่าอีกครั้งจากตัวแปรชั่วคราว สุดท้าย เราบันทึกสมุดงาน

รหัสเพื่อลบสูตร Excel และเก็บค่าไว้ใน C#

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");
}
}
}

โค้ดตัวอย่างด้านบนลบสูตรออกจากเซลล์เดียว อย่างไรก็ตาม ถ้าคุณต้องการเอาสูตรออกจากสมุดงานทั้งหมด คุณสามารถใช้ WorkSheet.Cells.RemoveFormulas() ซึ่งจะลบสูตรทั้งหมดออกจากสมุดงานทั้งหมด และแทนที่ค่าแต่ละเซลล์ด้วยผลลัพธ์ของสูตรตามลำดับ รหัสต่อไปนี้สามารถใช้เพื่อลบสูตร excel แต่เก็บเนื้อหาใน C# จากสมุดงานทั้งหมด

รหัสเพื่อลบสูตร Excel แต่เก็บค่าโดยใช้ C

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");
}
}
}

โปรดทราบว่าเราไม่จำเป็นต้องใช้ MS Excel หรือใช้การทำงานร่วมกันสำหรับการดำเนินการนี้ เมื่อไฟล์ Excel พร้อมแล้ว คุณยังสามารถแปลงไฟล์เป็นรูปแบบอื่นได้ด้วย ตามที่อธิบายไว้ในบทความเกี่ยวกับ วิธีสร้าง XPS จาก excel ใน C#

 ไทย