MCPcopy
hub / github.com/davyxu/tabtoy / processLine

Method processLine

v2/sheet_data.go:144–176  ·  view source on GitHub ↗
(fieldDef *model.FieldDescriptor, line *model.LineData, dataHeader *DataHeader)

Source from the content-addressed store, hash-verified

142)
143
144func (self *DataSheet) processLine(fieldDef *model.FieldDescriptor, line *model.LineData, dataHeader *DataHeader) int {
145 // 数据大于列头时, 结束这个列
146 if fieldDef == nil {
147 return lineOp_Break
148 }
149
150 // #开头表示注释, 跳过
151 if strings.Index(fieldDef.Name, "#") == 0 {
152 return lineOp_Continue
153 }
154
155 var rawValue string
156 // 浮点数按本来的格式输出
157 if fieldDef.Type == model.FieldType_Float && !fieldDef.IsRepeated {
158 rawValue = self.GetCellDataAsNumeric(self.Row, self.Column)
159 } else {
160 rawValue = self.GetCellData(self.Row, self.Column)
161 }
162
163 r, c := self.GetRC()
164
165 line.Add(&model.FieldValue{
166 FieldDef: fieldDef,
167 RawValue: rawValue,
168 SheetName: self.Name,
169 FileName: self.file.FileName,
170 R: r,
171 C: c,
172 FieldRepeatedCount: dataHeader.FieldRepeatedCount(fieldDef),
173 })
174
175 return lineOp_none
176}
177
178// 多表合并时, 要从从表的字段名在主表的表头里做索引
179func fieldDefGetter(index int, dataHeader, parentHeader *DataHeader) (*model.FieldDescriptor, bool) {

Callers 1

exportRowMajorMethod · 0.95

Calls 5

GetCellDataAsNumericMethod · 0.80
GetCellDataMethod · 0.80
GetRCMethod · 0.80
FieldRepeatedCountMethod · 0.80
AddMethod · 0.45

Tested by

no test coverage detected