我正在使用XLSXReader读取Excel文件,但是无法读取第一行。我需要读取第一行,因为它包含数据而不包含标题。
使用测试数据,我在空白处添加了第一行,但仍跳过了第一行的数据:
我复制了第一行并复制了它,它读取了该行:
我不知道为什么它会自动跳过第一行。
这是导入文件,保存并读取文件的操作按钮代码:
public PXAction<PMProject> importCostBudget;
[PXButton(CommitChanges = true)]
[PXUIField(DisplayName = "Import Cost Budget")]
protected void ImportCostBudget()
{
if (ImportCostBudgetView.AskExt() == WebDialogResult.OK)
{
const string PanelSessionKey = "ImportCostBudget";
PX.SM.FileInfo info = (PX.SM.FileInfo)PX.Common.PXContext.SessionTyped<PXSessionStatePXData>().FileInfo[PanelSessionKey];
Byte[] bytes = info.BinData;
System.Web.HttpContext.Current.Session.Remove(PanelSessionKey);
if (info != null)
{
PXNoteAttribute.AttachFile(Base.Project.Cache, Base.Project.Current, info);
using (PX.Data.XLSXReader reader = new XLSXReader(bytes))
{
//List<PMCostBudget> costBudgets = new List<PMCostBudget>();
reader.Reset();
//This is to read the first row
RowRead(reader);
while (reader.MoveNext())
{
RowRead(reader);
}
}
}
}
}
有没有办法强制使用阅读器读取第一行?
答案 0 :(得分:1)
标题行很可能被视为用于读取列名的特殊情况。
您应该能够从XLSXReader IndexKeyPairs集合访问它:
public IDictionary<int, string> IndexKeyPairs
{
get { return _header; }
}