c# - 将 Excel 转换为 CSV 并忽略 C# 中的空单元格和 DropDownList
问题描述
我有以下方法循环遍历我的 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();
解决方案
推荐阅读
- scala - 线程“主”java.lang.NoClassDefFoundError 中的异常:org/apache/log4j/or/RendererMap
- python - 将包含 Python 代码(由 reticulate 启用)的 Rmarkdown 文件部署到 shinyapp.io
- javascript - 如何在角度输入时添加动作
- javascript - 非常断断续续 -- DataTables 警告:table id=... - 无效的 JSON 响应
- android - PreferenceFragmentCompat & 工具栏问题
- google-sheets - 如何将数字转换为字母
- java - “以下类的超类型无法解析。” 在任务:应用程序:buildInfoGeneratorDebug
- python-2.7 - 如何在 pyspark 的 for 循环中应用多个过滤器
- python - 无需在 Python 中安装驱动程序即可读取 Access 表
- selenium - Python Selenium 点击链接链接