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();
如何将工作表中的数据检索到字符串变量中?好像没有办法。
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();