一方面,我在Scala中编写了一个读取Excel文件的函数。另一方面,我有不同的报告格式:第一个报告将输出某些信息,第二个报告将根据定义的规则对几个单元格求和。
我很难模拟这些对象如何相互作用。我目前所做的是ExcelReader将采用两个参数:文件输入(文件流)和报告特征。
我正在考虑注入报告类并在Excel Reader中使用commmon trait createReport。这是一个好习惯吗?
我的另一个问题是我应该将哪个对象传递给此createReport方法。传递一个List更好吗?数组?我不太确定哪个是建模Excel工作表的最佳对象,或者最好是创建自己的对象。
谢谢
此致
答案 0 :(得分:1)
您对Excel有何解释?我想这可能相当复杂,但一开始你可以尝试:
type ColIndex = String // maybe Int
type RowIndex = Int
sealed trait Cell
case class TextCell(text: String) extends Cell
case class NumericCell(value: BigDecimal) extends Cell
// maybe later if needed:
// case class FunctionCell(function: SomeExcelExpressionType) extends Cell
type ExcelData = Map[(ColIndex, RowIndex), Cell]