如何将 Excel XLSX 中的文本拆分为多列
本帖最后由 Richard.Ma 于 2024-12-3 12:33 编辑在 .NET 应用程序中处理 Excel 数据时,经常会遇到需要将文本拆分成多列。本教程中,我们将展示如何使用 API 以编程方式将文本拆分为多列,或通过使用 .NET 电子表格组件 Spread.NET调用运行时将文本转换为列向导,确保您和您的用户可以在 WinForms 应用程序中高效地管理数据。
在 .NET WinForms 应用程序中将文本拆分为列,可以使用下面的这些方式:
[*]使用 C# 和 VB.NET 以编程方式将文本拆分为列
[*]TextToColumns 方法
[*]TEXTSPLIT 函数
[*]在 WinForms 应用程序中调用文本分列向导
[*]以编程方式调用将文本转换为列向导
[*]使用 Spread Designer 和 Ribbon Control 的无代码解决方案
通过代码将文本拆分为列为了在 .NET 应用程序中自动执行“文本分列”功能,开发人员可以使用 Spread.NET 的 API 调用TextToColumns方法或使用内置的TEXTSPLIT函数并高效地拆分单元格中的文本,类似于 Excel 的内置功能。这种方法可确保数据组织的一致性,同时降低手动错误的风险。
TextToColumns 方法以下代码演示了调用TextToColumns方法使用分隔符或列宽选项将文本拆分为单独的列。<font size="3">private void OnTextToColumnByCodeClick(object sender, EventArgs e)
{
var sheet = _fpSpread.AsWorkbook().ActiveSheet;
var selection = sheet.Selection;
sheet.Cells
.TextToColumns("$B$1", TextParsingType.Delimited, TextQualifier.DoubleQuote, false, false, false, true);
}</font>
设置TEXTSPLIT 公式以下代码显示了在单元格中使用TEXTSPLIT函数。这相当于用于拆分文本的TextToColumns方法,对具有自定义分隔符的行进行操作。<font size="3">IWorkbook workbook = fpSpread1.AsWorkbook();
workbook.WorkbookSet.CalculationEngine.CalcFeatures = CalcFeatures.All;
...
fpSpread1.ActiveSheet.Cells["C2"].Formula = "TEXTSPLIT(A2,\" \")";
fpSpread1.ActiveSheet.Cells["C3"].Formula = "TEXTSPLIT(A3,\" \")";
fpSpread1.ActiveSheet.Cells["C4"].Formula = "TEXTSPLIT(A4,{\",\",\";\"})";</font>
https://cdn.mescius.io/umb/media/qzzljylk/image-20241021-155654.png
在 WinForms 应用程序中调用文本分列向导
Spread.NET 为用户提供了多种方式来访问功能强大的内置类似 Excel 的“将文本转换为列 向导”对话框。您可以使用BuiltInDialogs类以编程方式调用向导,也可以让用户在运行时通过Spread 设计器或功能区 控件访问它,而无需额外的代码。
通过代码调用将文本转换为列向导对话框BuiltInDialogs类允许您调用TextToColums来调用 .NET WinForms 应用中内置的类似 Excel 的“将文本转换为列”向导。这使用户能够在运行时手动解析和格式化数据。<font size="3">private void OnTextToColumnMenuItemClick(object sender, EventArgs e)
{
var textToColumnDialog = FarPoint.Win.Spread.Dialogs.BuiltInDialogs.TextToColumns(_fpSpread);
if (textToColumnDialog != null)
textToColumnDialog.Show(_fpSpread);
}</font>
使用 Spread Designer 和 Ribbon Control 的无代码解决方案Spread.NET 还包括一个Spread 设计器和一个功能区控件,为用户提供了一种简单、无需代码的方式来访问“文本分列”功能。这些工具在“数据工具”选项卡中有一个“文本分列”按钮,允许用户在运行时直接在应用程序内拆分文本。https://cdn.mescius.io/umb/media/wxwbfx3i/ribbon-control-texttocolumns-wizard.gif?rmode=max&width=740&height=434这两种方法都可以实现无缝体验,无论您是通过编程方式自动化流程还是通过熟悉的 UI 让用户进行控制。
页:
[1]