我有以下方法,将我的Excel工作簿工作表作为数据表循环通过字符串生成器输出将其转换为CSV。
在我的Excel工作簿上,我有一个下拉列表,在输出CSV上,当Excel行为空时,这些下拉列表也从XLS转换为CSV。
我试图检查字符串是否为空或不为空,但是CVS的输出为空文件。
while (row_no < result.Tables[ind].Rows.Count)
{
for (int i = 0; i < result.Tables[ind].Columns.Count; i++)
{
if (!String.IsNullOrWhiteSpace(csvData))
{
csvData += result.Tables[ind].Rows[row_no][i].ToString() + "|";
}
}
row_no++;
csvData += "\n";
}
问题;我在做什么错?!
我觉得我已经很近了,但是它没有表现出来。
预先感谢您的帮助。
我的完整代码如下:
FileUpload1.PostedFile.SaveAs(Server.MapPath("...");
string filePath = HttpContext.Current.Server.MapPath("...");
FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read);
IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
DataSet result = excelReader.AsDataSet();
excelReader.Close();
result.Tables[0].TableName.ToString();
string csvData = "";
int row_no = 0;
int ind = 0;
while (row_no < result.Tables[ind].Rows.Count)
{
for (int i = 0; i < result.Tables[ind].Columns.Count; i++)
{
csvData += result.Tables[ind].Rows[row_no][i].ToString() + "|";
}
row_no++;
csvData += "\n";
}
output = HttpContext.Current.Server.MapPath("...csv");
newOutput = Path.GetFileName(output);
StreamWriter csv = new StreamWriter(@output, false);
csv.Write(csvData);
csv.Close();
csv.Dispose();