Այս ձեռնարկում մենք կսովորենք, թե ինչպես հեռացնել Excel-ի բանաձևը՝ առանց C#-ի բովանդակությունը հեռացնելու: Երբեմն մենք պետք է համօգտագործենք Excel ֆայլեր ուրիշների հետ, որոնք պարունակում են հաշվարկված արժեքներ, բայց մենք չենք ցանկանում բացահայտել մեր բանաձևերը: Սա պահանջում է ջնջել Excel-ի բանաձևը, բայց պահել բովանդակությունը C#-ում, ինչպես նկարագրված է հետևյալ քայլերում:
Excel-ի բանաձևը հեռացնելու քայլեր, բայց արժեքը պահպանեք C#-ի միջոցով
- Ավելացրեք Aspose.Cells for .NET նախագծին՝ օգտագործելով NuGet փաթեթի կառավարիչը
- Ավելացնել հղում System և Aspose.Cells անվանատարածքի համար
- Ակնթարթային լիցենզիա՝ փորձնական տարբերակի ջրանիշից խուսափելու համար
- Բեռնել workbook-ը, որը պարունակում է տվյալներ և բանաձև
- Ստացեք այն բջիջի հղումը, որի բանաձևը պետք է հեռացվի
- Պահպանեք արժեքը ժամանակավոր փոփոխականում և հեռացրեք բանաձևը
- Վերականգնել բջիջի արժեքը՝ օգտագործելով ժամանակավոր փոփոխականը
- Պահպանեք աշխատանքային գրքույկը
Վերոնշյալ քայլերը նկարագրում են 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, ոչ էլ interop-ը: Երբ Excel ֆայլը պատրաստ լինի, կարող եք նաև այն փոխարկել այլ ձևաչափերի, ինչպես նկարագրված է ինչպես ստեղծել XPS excel-ից C#-ում-ի հոդվածում: