1

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

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

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

请帮帮我!

4

3 回答 3

1

您想将整个工作表的数据作为文本获取,还是仅获取特定的单元格区域,还是仅获取特定的单元格?
尽管如此,您可以通过将整个工作表的数据转换为 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();
于 2016-05-02T14:33:38.877 回答
0

您可以使用“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] 中。希望这能引起问题

于 2016-05-02T12:06:12.500 回答
0

您可以使用此代码

TextBox1.Text=worksheet.Cells[6, 0].Value;
于 2016-05-02T11:50:35.143 回答