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);
            }
    
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!