IRONSOFTWAREHOME

Excel-Beschränkung bei der Datenüberprüfung für Zeichenketten

Curtis Chau
Curtis Chau
Updated: 29. Juni 2026

Microsoft Excel hat eine bekannte Einschränkung für die Länge von Zeichenfolgenlisten, die besagt, dass die Gesamtlänge der Liste, einschließlich Trennzeichen wie Kommas, maximal 255 Zeichen betragen darf.

Dieses Problem tritt auf, wenn Sie die Liste der Zeichenfolgen manuell im Quellfeld eingeben, anstatt Daten aus einem vorhandenen Bereich im Excel-Blatt zu wählen, wie unten gezeigt.

Problem der Excel-Beschränkung

Lösung für die Excel-Einschränkung in Excel

Der Standard-Workaround für diese Einschränkung besteht darin, eine Liste von Werten in einer Spalte oder Zeile innerhalb des Arbeitsblatts zu erstellen, anstatt die Liste der Zeichenfolgen im Quellfeld einzugeben. Wie unten gezeigt.

Example Solution

Anschließend verwenden Sie einen Formelbezug, zum Beispiel C1:C100, bei der Datenvalidierung und verweisen auf diesen Bereich.

Neue Quelle
Neue Daten

Dieser Ansatz umgeht die Einschränkung und ermöglicht es Ihnen, eine Dropdown-Liste zu erstellen, ohne durch die 255-Zeichen-Grenze eingeschränkt zu sein.


Problem bei IronXL

IronXL verwendet die Methode AddStringListRule, um eine Liste von Zeichenfolgen für die Datenvalidierung anzuwenden. Aufgrund der oben genannten Zeichengrenze in Excel würde die Speicherungsmethode jedoch weiterhin funktionieren. Es ist jedoch wichtig zu beachten, dass, wenn die Liste 255 Zeichen überschreitet, dies zu einem schwerwiegenden Problem führen könnte: Excel stürzt ab, wenn die Datei geöffnet wird. Hier ist ein Beispiel, das das Problem veranschaulicht.

using IronXL;
using IronXL.DataValidations;

// Set your license key here if you have one
IronXL.License.LicenseKey = "YOUR-LICENSE-KEY";
var workBook = WorkBook.Create(ExcelFileFormat.XLSX);

var sheet = workBook.CreateWorkSheet("Validation Rule Example using");
// Apply rules from row 2 down to row 500
var validationRangeStart = "2";
var validationRangeFinish = "500";

// --- 1. Define All Column Headers ---
sheet["A1"].Value = "String List Test";
sheet["B1"].Value = "Formula List Test";
sheet["A1:B1"].Style.Font.Bold = true;

// 256
string[] arrayString = new string[]
{
    "SKU-A01-R", "SKU-A02-R", "SKU-A03-R", "SKU-A04-R", "SKU-A05-R",
    "SKU-B01-G", "SKU-B02-G", "SKU-B03-G", "SKU-B04-G", "SKU-B05-G",
    "SKU-C01-B", "SKU-C02-B", "SKU-C03-B", "SKU-C04-B", "SKU-C05-B",
    "SKU-D01-Y", "SKU-D02-Y", "SKU-D03-Y", "SKU-D04-Y", "SKU-D05-Y",
    "END-001", "END-002", "END-003", "END-004", "END-005", "END-010", "END-001"
}; // total char with seperator 257 (230 char + 26 sperator [,] )

// no problem when write to a file
var skuValidation = sheet.DataValidations.AddStringListRule(sheet[$"A{validationRangeStart}:A{validationRangeFinish}"].RangeAddress, arrayString);

// set error box
skuValidation.ShowErrorBox = true;
skuValidation.ErrorBoxTitle = "Invalid SKU";
skuValidation.ErrorBoxText = "Please select a SKU from the list.";
skuValidation.ErrorAlert = ErrorAlert.Stop;
            
//attempt to save the file
var fileName = "CategoryProductCatalog.xlsx";
workBook.SaveAs(fileName);

Im Code versuchen wir, eine Liste von Zeichenfolgen mit dem Namen arrayString als Quelle einer Liste von Zeichenfolgen zu übergeben, um eine Dropdown-Liste zu erstellen. Wir versuchen dann, sie als CategoryProductCatalog.xlsx zu speichern. Aufgrund dieser Einschränkungen zeigt Microsoft Excel beim Öffnen der Datei jedoch eine Meldung an, dass die Datei beschädigt ist und nicht geöffnet werden kann.

alternativer Text


Lösung für IronXL

Um diese Excel-Einschränkung ordnungsgemäß zu adressieren, stellt IronXL die Methode AddFormulaListRule zur Verfügung, die aus der Eigenschaft DataValidations verfügbar ist. Diese Methode ist der Lösung für die Arbeit mit Excel ähnlich.

Zuerst schreiben wir die Liste der Werte in einen Bereich von Zellen im Arbeitsblatt. Verwenden Sie dann AddFormulaListRule, um diesen Bereich als Quelle der Dropdown-Liste zu referenzieren. Effektiv die Einschränkung mit denselben Methoden umgehend, die wir für die Excel-Lösung genutzt haben, aber in diesem Fall programmatisch.

Durch die ordnungsgemäße Verwendung von AddFormulaListRule wird nicht nur die Excel-Einschränkung umgangen, sondern auch sichergestellt, dass die Datei auch bei langen Wertelisten sowohl lesbar als auch stabil bleibt, wenn sie in Excel geöffnet wird.


Codebeispiel

Nachstehend finden Sie das zusätzliche Beispiel, das dieses Problem umgeht. Im gleichen Arbeitsbuch erstellen wir zuerst ein Arbeitsblatt und definieren dann alle Spaltenüberschriften. Wir geben die Liste der Zeichenfolgen aus dem vorherigen Beispiel ein, sowie neue Daten, um die Funktionalität zu veranschaulichen. Wir rufen dann AddFormulaListRule mit dem Validierungsbereich von oben auf. Dann speichern wir es schließlich als validationRuleExample.xlsx. Um sicherzustellen, dass unser Arbeitsbuch nicht beschädigt ist und normal verwendet werden kann, öffnen wir es in Excel. Dieser Schritt ist entscheidend, da er die erfolgreiche Implementierung unseres Codes demonstriert.

using IronXL;
using IronXL.DataValidations;
using System;

// Set your license key here if you have one
IronXL.License.LicenseKey = "YOUR-LICENSE-KEY";
var workBook = WorkBook.Create(ExcelFileFormat.XLSX);

var sheet = workBook.CreateWorkSheet("Validation Rule Example using");
// Apply rules from row 2 down to row 500
var validationRangeStart = "2";
var validationRangeFinish = "500";

// --- 1. Define All Column Headers ---
sheet["A1"].Value = "String List Test";
sheet["B1"].Value = "Formula List Test";
sheet["A1:B1"].Style.Font.Bold = true;

string[] arrayString2 = new string[] 
{ 
    "SKU-A01-R", "SKU-A02-R", "SKU-A03-R", "SKU-A04-R", "SKU-A05-R",
    "SKU-B01-G", "SKU-B02-G", "SKU-B03-G", "SKU-B04-G", "SKU-B05-G",
    "SKU-C01-B", "SKU-C02-B", "SKU-C03-B", "SKU-C04-B", "SKU-C05-B",
    "SKU-D01-Y", "SKU-D02-Y", "SKU-D03-Y", "SKU-D04-Y", "SKU-D05-Y",
    "END-001", "END-002", "END-003", "END-004", "END-005", "END-010", "END-001",
    "IRON01","IRON02","IRON03","IRON04","IRON05","IRON06","IRON07","IRON08","IRON09","IRON10",
    "IRON11","IRON12","IRON13","IRON14","IRON15","IRON16","IRON17","IRON18","IRON19","IRON20",
    "IRON21","IRON22","IRON23","IRON24","IRON25","IRON26","IRON27","IRON28","IRON29","IRON30",
    "IRON31","IRON32","IRON33","IRON34","IRON35","IRON36","IRON37","IRON38","IRON39","IRON40",
    "IRON41","IRON42","IRON43","IRON44","IRON45","IRON46","IRON47","IRON48","IRON49","IRON50",
    "IRON51","IRON52","IRON53","IRON54","IRON55","IRON56","IRON57","IRON58","IRON59","IRON60",
    "IRON61","IRON62","IRON63","IRON64","IRON65","IRON66","IRON67","IRON68","IRON69","IRON70",
    "IRON71","IRON72","IRON73","IRON74","IRON75","IRON76","IRON77","IRON78","IRON79","IRON80",
    "IRON81","IRON82","IRON83","IRON84","IRON85","IRON86","IRON87","IRON88","IRON89","IRON90",
    "IRON91","IRON92","IRON93","IRON94","IRON95","IRON96","IRON97","IRON98","IRON99","IRON100"
}; // total char with seperator 257 (230 char + 26 sperator [,] )

//Write the contents of your array to column A of the data sheet.
for (int i = 0; i < arrayString2.Length; i++)
{
    // Note: IronXL row and cell indices are 1-based.
    sheet[$"A{i + 1}"].Value = arrayString2[i];
}

// Create the formula string that points to our data range.
// This will look like: 'ValidationData'!$A$1:$A$100

string formula = $"'{sheet.Name}'!$A$1:$A${arrayString2.Length}";
Console.WriteLine($"Generated formula for validation: {formula}");

var sku2Validation = sheet.DataValidations.AddFormulaListRule(sheet[$"B{validationRangeStart}:B{validationRangeFinish}"], formula);

sku2Validation.ShowErrorBox = true;
sku2Validation.ErrorBoxTitle = "Invalid SKU2";
sku2Validation.ErrorBoxText = "Please select a SKU from the list.";
sku2Validation.ErrorAlert = ErrorAlert.Stop;

// --- Final Touches ---
sheet.AutoSizeColumn(0, true);
sheet.AutoSizeColumn(1, true);

var fileName = "validationRuleExample.xlsx";
workBook.SaveAs(fileName);

Console.WriteLine($"Successfully created '{fileName}' with 2 validation rules example.");

Output Excel-Dateien

Wie Sie sehen können, ist die Excel-Datei stabil und verursacht keine Abstürze nach der Verwendung von AddFormulaListRule. Um es selbst auszuprobieren, sehen Sie sich bitte diesen Link für eine Demo der in diesem Artikel verwendeten Anwendung und die Excel-Datei an. Dieses Demo ermöglicht es Ihnen, den Prozess in Aktion zu sehen und zu verstehen, wie Sie ihn in Ihrer Arbeit anwenden können.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

...
Weiterlesen

Bereit anzufangen?

Nuget Downloads 2,237,574Version:2026.9gerade veröffentlicht

Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie "IronXL"
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

  1. Laden Sie IronXL herunter und entpacken Sie es an einem Ort wie ~/Libs innerhalb Ihres Solution-Verzeichnisses
  2. Klicken Sie im Visual Studio Solution Explorer mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronXL.dll"

Lizenzen ab $999

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
AWS-Logo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Azure (WebApps, Funktionen v3)
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Azure (WebApps, Funktionen v3)
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.