当前位置: 首页 > 知识库问答 >
问题:

如何在spreadsheetlight中使用C#获取单元格的格式类型

籍昱
2023-03-14
 for (int col = stats.StartColumnIndex; col <= stats.EndColumnIndex; col++)
     {              
         var value= sheet.GetCellValueAsString(stats.StartRowIndex, col);  //where sheet is current sheet in excel file    
     }

注意:对于.xls类型的excel文件,我使用的是ExcelLibrary.dll库,可以使用下面的代码轻松获取单元格的数据类型

for (int i = 0; i <= cells.LastColIndex; i++)
     {
         var type = cells[0, i].Format.FormatType;
     }

但在Spreadsheetlight中没有类似的方法。

共有1个答案

丌官高远
2023-03-14

下面是开发人员Vincent Tang在我不确定如何使用DataType时给出的答案:

是的,请使用slcell.dataType。这是一个枚举,但对于大多数数据,您将使用Number、SharedString和String。

文本数据将是SharedString,如果文本直接嵌入到工作表中,则可能是String。有一个GetSharedStrings()或类似的东西。

他还建议使用GetCellList()来获取工作表中的SLCell对象列表。但是,由于某种原因,该函数在我的SL版本中不可用,所以我使用了GetCells()。返回一个SLCell对象的字典,该字典带有SLCellPoint类型的键。

例如,要获取单元格A1的数据类型(这是一个CellValues对象),请执行以下操作:

using (SLDocument slDoc = new SLDocument("Worksheet1.xlsx", "Sheet1")) {

    slCP = SLCellPoint;
    slCP.ColumnIndex = SLConvert.ToColumnIndex("A"); ///Obviously 1 but useful function to know
    slCP.RowIndex = 1;

    CellValues slCV = slDoc.GetCells(slCP).DataType;

}

顺便说一下,我在打开chm帮助文件时也遇到了问题。试试看:

    null
 类似资料:
  • 有人能给我一个解决方案,我可以在单元格为空时读取应用到单元格的样式吗? 谢了。

  • 问题内容: 我想以一个简单的字符串来获取数值单元格的值。 假设单元格的类型是带有value的数字。现在我无法使用,因为它将引发异常。我也无法使用,因为它会使我退缩。 我想存储在类型为varchar2的db中,所以我只希望字符串中的值。 我无法更改单元格类型,因为它是最终用户的工作,我必须在代码本身中进行处理。 格式化程序也无法正常工作,因为xls … dd:mm,dd:mm:ss,公式等中可能存在

  • 我想要得到以下单元格的高度。 cell_logo CELL_TITLE

  • 在过去的几天里,我一直在尝试从图片中获取数独网格,我一直在努力获取网格中较小的正方形。我正在制作下面的图片。我原以为用canny过滤器处理图像会很好,但事实并非如此,我无法得到每个正方形的所有轮廓。然后,我将自适应阈值、otsu和一个经典阈值用于测试,但每次,它似乎都无法捕获每个小正方形。 最终的目标是获得包含数字的单元格,并使用Pytork识别数字,因此我非常希望获得一些数字的清晰图像,以便识别

  • 我试图从excel文件中读取所有数据,其中也有一些公式单元格,但我不知道哪个单元格是公式单元格。如何读取单元格中的所有值,而不考虑单元格的类型。 我的代码看起来像这样 我得到的公式单元格值为0

  • 在Java中,我应该得到的输出是