我ExcelDataReaderFactory在 C# 中使用 ,以便读取我的 Excel 文件并将它们插入到数据库中。
现在我正在指定sheetname我想要使用的工作表。我可以让它每次都被选为第一张吗?
这是我加载数据的方式。
public IExcelDataReader getExcelReader()
{
// ExcelDataReader works with the binary Excel file, so it needs a FileStream
// to get started. This is how we avoid dependencies on ACE or Interop:
FileStream stream = File.Open(_path, FileMode.Open, FileAccess.Read);
// We return the interface, so that
IExcelDataReader reader = null;
try
{
if (_path.EndsWith(".xls"))
{
reader = ExcelReaderFactory.CreateBinaryReader(stream);
}
if (_path.EndsWith(".xlsx"))
{
reader = ExcelReaderFactory.CreateOpenXmlReader(stream);
}
return reader;
}
catch …Run Code Online (Sandbox Code Playgroud) 我从另一个类获取对象列表,并在我的插入查询中使用它.
不知怎的,我得到一个奇怪的"错误",因为列表中的第一个对象没有插入.
如果有人能发现我的错误,我会非常高兴!我一直在敲击键盘一段时间了...
var ActNoParam = new SqlParameter();
ActNoParam.ParameterName = "@ActNo";
ActNoParam.SqlDbType = SqlDbType.Int;
cmd.Parameters.Add(ActNoParam);
var CustNoParam = new SqlParameter();
CustNoParam.ParameterName = "@CustNo";
CustNoParam.SqlDbType = SqlDbType.Int;
cmd.Parameters.Add(CustNoParam);
var DelpriParam = new SqlParameter();
DelpriParam.ParameterName = "@DelPri";
DelpriParam.SqlDbType = SqlDbType.Int;
cmd.Parameters.Add(DelpriParam);
var CustPrg3Param = new SqlParameter();
CustPrg3Param.ParameterName = "@CustPrg3";
CustPrg3Param.SqlDbType = SqlDbType.Int;
cmd.Parameters.Add(CustPrg3Param);
var NmParam = new SqlParameter();
NmParam.ParameterName = "@Nm";
NmParam.SqlDbType = SqlDbType.VarChar;
cmd.Parameters.Add(NmParam);
var Gr6Param = new SqlParameter();
Gr6Param.ParameterName = "@Gr6";
Gr6Param.SqlDbType = SqlDbType.Int;
cmd.Parameters.Add(Gr6Param);
var CreUsrParam = new SqlParameter(); …Run Code Online (Sandbox Code Playgroud)