GemBox 电子表格

GemBox Spreadsheet

如何将工作表中的数据检索到字符串变量中?好像没有办法。

var workbook = ExcelFile.Load("Workbook.xls");
var worksheet = workbook.Worksheets[0];

如何将工作表中的数据转换成字符串?

请帮帮我!

您可以使用此代码

TextBox1.Text=worksheet.Cells[6, 0].Value;

您可以使用 "Microsoft.Office.Interop.Excel"

实现此目的
using Excel = Microsoft.Office.Interop.Excel;

var workbookPath = "your workbookpath";
Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(workbookPath, 0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
Excel.Sheets excelSheets = excelWorkbook.Worksheets;
string currentSheet = "Sheet1"; //name of the sheet
Excel.Worksheet excelWorksheet = (Excel.Worksheet)excelSheets.get_Item(currentSheet);
var cellValue = (string)(excelWorksheet.Cells[10, 2] as Excel.Range).Value; //cell is casted to string

现在变量 cellvalue 保存字符串 在单元格 [10,2] 中。希望这个回答问题

您是要将整个工作表的数据作为文本获取,还是只获取特定的单元格范围或特定的单元格?
不过,这里是如何通过将整个工作表的数据转换为 TAB 格式来将其转换为字符串:

var workbook = ExcelFile.Load("Workbook.xls");
workbook.Worksheets.ActiveWorksheet = workbook.Worksheets[0];

var options = new CsvSaveOptions(CsvType.TabDelimited);
options.Encoding = new UTF8Encoding(false);

using (var stream = new MemoryStream())
{
    workbook.Save(stream, options);

    string worksheetAsText = options.Encoding.GetString(stream.ToArray());
    // Do something with "worksheetAsText" ...
}

或者您可以使用 StringWriter 而不是写入流,如下所示:

using (var writer = new StringWriter())
{
    workbook.Save(writer, options);

    string worksheetAsText = writer.ToString();
    // Do something with "worksheetAsText" ...
}

更新(对于 GemBox.Document,请参阅下面的评论):
有两种方法可以做到这一点,一种是执行与上述类似的操作并将 DocumentModel 保存为纯文本格式 (TxtSaveOptions)。

另一种方法是只使用以下内容:

var document = DocumentModel.Load("Document.docx");
string documentAsText = document.Content.ToString();