caisongpo1 2016-11-03 09:09 采纳率: 20%
浏览 972

WinForm 使用Html生成的.xlsx文件打不开

winform 使用html导出RadChartView中数据到Excel文件,xls格式没问题,xlsx文件打不开。
提示如下:Excel 无法打开文件“*.xlsx”,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。
代码如下:
try
{
StringBuilder htmlStr = new StringBuilder();
htmlStr.Append("");
htmlStr.Append("

");
htmlStr.Append("");
htmlStr.Append("");
htmlStr.Append("");
htmlStr.Append("");
htmlStr.Append("");
if (this.radChartView1.Series.Count > 0)
{
foreach (var lineSeries in this.radChartView1.Series)
{
htmlStr.Append("");
}
}
htmlStr.Append("");
htmlStr.Append("
");
htmlStr.Append("");
htmlStr.Append($"");
foreach (var dataPoint in lineSeries.DataPoints)
{
CategoricalDataPoint point = dataPoint as CategoricalDataPoint;
if (point != null)
{
htmlStr.Append("");
htmlStr.Append($"");
htmlStr.Append($"");
htmlStr.Append("");
}
}
htmlStr.Append("
{lineSeries.Name}
{point.Category}{point.Label}
");
htmlStr.Append("
");
htmlStr.Append("");
htmlStr.Append("");
            using (SaveFileDialog saveFileDialog = new SaveFileDialog())
            {
                saveFileDialog.Filter = $"xls files(*.xls)|*.xls|xlsx files(*.xlsx)|*.xlsx";
                saveFileDialog.RestoreDirectory = true;
                if (saveFileDialog.ShowDialog() == DialogResult.OK)
                {
                    StreamWriter writer = new StreamWriter(saveFileDialog.FileName, false);
                    writer.WriteLine(htmlStr.ToString());
                    writer.Close();
                }
            }
        }
        catch (Exception exception)
        {
            RadMessageBox.Show(exception.Message);
        }
  • 写回答

3条回答 默认 最新

  • caisongpo1 2016-11-03 09:09
    关注

    代码贴出来好像有点问题,重新贴代码:
    try
    {
    StringBuilder htmlStr = new StringBuilder();
    htmlStr.Append("");
    htmlStr.Append("

    ");
    htmlStr.Append("");
    htmlStr.Append("");
    htmlStr.Append("");
    htmlStr.Append("");
    htmlStr.Append("");
    if (this.radChartView1.Series.Count > 0)
    {
    foreach (var lineSeries in this.radChartView1.Series)
    {
    htmlStr.Append("");
    }
    }
    htmlStr.Append("");
    htmlStr.Append("
    ");
    htmlStr.Append("");
    htmlStr.Append($"");
    foreach (var dataPoint in lineSeries.DataPoints)
    {
    CategoricalDataPoint point = dataPoint as CategoricalDataPoint;
    if (point != null)
    {
    htmlStr.Append("");
    htmlStr.Append($"");
    htmlStr.Append($"");
    htmlStr.Append("");
    }
    }
    htmlStr.Append("
    {lineSeries.Name}
    {point.Category}{point.Label}
    ");
    htmlStr.Append("
    ");
    htmlStr.Append("");
    htmlStr.Append("");
                using (SaveFileDialog saveFileDialog = new SaveFileDialog())
                {
                    saveFileDialog.Filter = $"xls files(*.xls)|*.xls|xlsx files(*.xlsx)|*.xlsx";
                    saveFileDialog.RestoreDirectory = true;
                    if (saveFileDialog.ShowDialog() == DialogResult.OK)
                    {
                        StreamWriter writer = new StreamWriter(saveFileDialog.FileName, false);
                        writer.WriteLine(htmlStr.ToString());
                        writer.Close();
                    }
                }
            }
            catch (Exception exception)
            {
                RadMessageBox.Show(exception.Message);
            }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算