Мне нужно выполнить упражнение, но я не могу решить одну ошибку.Извините, я не очень хорошо знаю язык Бу.Мой код:
public class Item (IIDataReaderLoadable):
Sequence as long
Code as string
Description as string
Weight as decimal
Id as Guid
def LoadFromReader(reader as IDataReader):
Sequence = long.Parse(reader[0].ToString());
Code = reader[1].ToString();
Weight = decimal.Parse(reader[2].ToString());
Description = reader[3].ToString();
Id = Guid.Parse(reader[4].ToString());
TableName as string:
get:
return "Hoja1$"
operation read_MasterData_etlexcel:
log = ProcessContext.GetLogger()
file = ProcessContext.InputFile
log.Info("Reading $file")
for Data in EntityReader[of Item].Read(file):
yield Row.FromObject(Data)
operation print_etlexcel:
log = ProcessContext.GetLogger()
for row in rows:
log.Info(row.ToString())
yield row
def serialize_row(it as Object, id as Guid):
serializer = XmlSerializer(typeof(Item))
writer = FileStream("output" + id.ToString() +".xml", FileMode.Create);
serializer.Serialize(writer, it);
writer.Close();
serialize_row(Item, Item.Id)
process process_owners_etlexcel:
read_MasterData_etlexcel()
print_etlexcel()
Когда я выполняю его в командном окне, я получаю следующую ошибку:
2018-05-14 14:18:44.0479 [Error] [Mss.Etl.DSLLoader.EtlSetup] Cannot execute ./e
xcelfile/import.boo BCE0000: C:\Program Files\Mecalux\GnaService2015\excelfile\i
mport.boo(57,30): BCE0020: Boo.Lang.Compiler.CompilerError: An instance of type
'Mss.Item' is required to access non static member 'Id'.
Я хочу прочитать файл Excel, который содержит несколько столбцов, и у меня естьчтобы создать скрипт бу, который восстанавливает содержимое моего файла Excel, я должен сопоставить каждую строку из файла Excel с объектом вашего класса classtem и сериализовать объект в файл XML
Спасибо