filehelpers有些列没有写
Filehelpers some columns are not written
我正在将此 class 写入文件。但由于某种原因,某些行缺少某些列。
我的意思是某些列向左移动了几次。我可以在最后一列看到这个,因为它应该在所有行中都有一个 "true",并且它们已向左移动 1 或 2 次。
即使所有 Vare 都具有正确的值,也会发生这种情况,所以它是在写入时发生的。
关于为什么会发生这种情况的任何想法。
[DelimitedRecord("\t")]
internal class Vare : IBusinessCentral<AxVare>
{
public Vare()
{
}
public string Nummer { get; set; }
public string Nummer2 { get; set; }
public string Beskrivelse { get; set; }
public string Søgebeskrivelse { get; set; }
public string Beskrivelse2{ get; set; }
public string Basisenhed { get; set; }
public string Type { get; set; }
public string Varebogføringsgruppe { get; set; }
public string Varerabatgruppe { get; set; }
public string Enhedspris { get; set; }
public string AvancepctBeregning { get; set; }
public string Kostprisberegningsmetode { get; set; }
public string Kostpris { get; set; }
public string SidsteKøbspris { get; set; }
public string Genbestillingspunkt { get; set; }
public string Ordrekvantum { get; set; }
public string Bruttovægt { get; set; }
public string Nettovægt { get; set; }
public string Varekode { get; set; }
public string MomsvirksBogfGruppePris { get; set; }
public string Produktbogføringsgruppe { get; set; }
public string AutomatiskUdvTekster { get; set; }
public string MomsproduktbogfGruppe { get; set; }
public string Reserver { get; set; }
public string GlobalDimension2kode { get; set; }
public string Beholdningsadvarsel { get; set; }
public string ForebygNegativtLager { get; set; }
public string Genbestillingssystem { get; set; }
public string Salgsenhed { get; set; }
public string Købsenhed { get; set; }
public string Genbestillingsmetode { get; set; }
public string MedtagLager { get; set; }
public string Producentkode { get; set; }
public string Varekategorikode { get; set; }
public string Indkøbskode { get; set; }
public string Varesporingskode { get; set; }
public string Udløbsberegning { get; set; }
public string LægPåLagerSkabelonkode { get; set; }
public string LægPåLagerEnhedskode { get; set; }
public string KodeForOvermodtagelse { get; set; }
public string System { get; set; }
public string FarligtGods { get; set; }
public string Model { get; set; }
public string Note { get; set; }
public string Variantstyrret { get; set; }
public string UndladPrint { get; set; }
}
写入磁盘的函数
private static void Write<T>(string path, T[] output) where T : class
{
var outputEngine = new FileHelperEngine<T>();
outputEngine.HeaderText = outputEngine.GetFileHeader();
outputEngine.WriteFile(path, output);
}
经过几个小时的调试,我发现问题不是 Filehelpers,而是 Excel 没有正确读取选项卡。
Excel 有一个选项,您可以 tick/untick 说“将多个连续的定界符视为一个”之类的话,我怀疑您有那个设置。
如官方网站“必读”部分所述:
The current implemented Excel support is only for basic scenarios. If
you need custom formatting, charts, etc. you must go for a custom
code. It's strongly recommended to directly use the NPOI library
老实说,我喜欢 CSV 的 FileHelpers...但我不会为 Excel。
我正在将此 class 写入文件。但由于某种原因,某些行缺少某些列。
我的意思是某些列向左移动了几次。我可以在最后一列看到这个,因为它应该在所有行中都有一个 "true",并且它们已向左移动 1 或 2 次。
即使所有 Vare 都具有正确的值,也会发生这种情况,所以它是在写入时发生的。
关于为什么会发生这种情况的任何想法。
[DelimitedRecord("\t")]
internal class Vare : IBusinessCentral<AxVare>
{
public Vare()
{
}
public string Nummer { get; set; }
public string Nummer2 { get; set; }
public string Beskrivelse { get; set; }
public string Søgebeskrivelse { get; set; }
public string Beskrivelse2{ get; set; }
public string Basisenhed { get; set; }
public string Type { get; set; }
public string Varebogføringsgruppe { get; set; }
public string Varerabatgruppe { get; set; }
public string Enhedspris { get; set; }
public string AvancepctBeregning { get; set; }
public string Kostprisberegningsmetode { get; set; }
public string Kostpris { get; set; }
public string SidsteKøbspris { get; set; }
public string Genbestillingspunkt { get; set; }
public string Ordrekvantum { get; set; }
public string Bruttovægt { get; set; }
public string Nettovægt { get; set; }
public string Varekode { get; set; }
public string MomsvirksBogfGruppePris { get; set; }
public string Produktbogføringsgruppe { get; set; }
public string AutomatiskUdvTekster { get; set; }
public string MomsproduktbogfGruppe { get; set; }
public string Reserver { get; set; }
public string GlobalDimension2kode { get; set; }
public string Beholdningsadvarsel { get; set; }
public string ForebygNegativtLager { get; set; }
public string Genbestillingssystem { get; set; }
public string Salgsenhed { get; set; }
public string Købsenhed { get; set; }
public string Genbestillingsmetode { get; set; }
public string MedtagLager { get; set; }
public string Producentkode { get; set; }
public string Varekategorikode { get; set; }
public string Indkøbskode { get; set; }
public string Varesporingskode { get; set; }
public string Udløbsberegning { get; set; }
public string LægPåLagerSkabelonkode { get; set; }
public string LægPåLagerEnhedskode { get; set; }
public string KodeForOvermodtagelse { get; set; }
public string System { get; set; }
public string FarligtGods { get; set; }
public string Model { get; set; }
public string Note { get; set; }
public string Variantstyrret { get; set; }
public string UndladPrint { get; set; }
}
写入磁盘的函数
private static void Write<T>(string path, T[] output) where T : class
{
var outputEngine = new FileHelperEngine<T>();
outputEngine.HeaderText = outputEngine.GetFileHeader();
outputEngine.WriteFile(path, output);
}
经过几个小时的调试,我发现问题不是 Filehelpers,而是 Excel 没有正确读取选项卡。
Excel 有一个选项,您可以 tick/untick 说“将多个连续的定界符视为一个”之类的话,我怀疑您有那个设置。
如官方网站“必读”部分所述:
The current implemented Excel support is only for basic scenarios. If you need custom formatting, charts, etc. you must go for a custom code. It's strongly recommended to directly use the NPOI library
老实说,我喜欢 CSV 的 FileHelpers...但我不会为 Excel。