Πώς να αφαιρέσετε έναν τύπο στο Excel χωρίς να αφαιρέσετε περιεχόμενο στο C#

Σε αυτό το σεμινάριο, θα μάθουμε πώς να αφαιρέσετε τον τύπο του Excel χωρίς να αφαιρέσετε περιεχόμενο σε C#. Μερικές φορές πρέπει να μοιραζόμαστε αρχεία Excel με άλλα που περιέχουν υπολογισμένες τιμές, αλλά δεν θέλουμε να εκθέσουμε τους τύπους μας. Αυτό απαιτεί να διαγράψετε τον τύπο του Excel, αλλά να διατηρήσετε τα περιεχόμενα σε C# όπως περιγράφεται στα ακόλουθα βήματα.

Βήματα για την κατάργηση του τύπου Excel, αλλά διατήρηση της τιμής χρησιμοποιώντας C#

  1. Προσθέστε το Aspose.Cells for .NET στο έργο χρησιμοποιώντας τη διαχείριση πακέτων NuGet
  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 ούτε interop χρησιμοποιείται για αυτήν τη λειτουργία. Μόλις το αρχείο Excel είναι έτοιμο, μπορείτε επίσης να το μετατρέψετε σε άλλες μορφές, όπως περιγράφεται στο άρθρο στο πώς να δημιουργήσετε XPS από το excel σε C#.

 Ελληνικά