首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Aspose.cells和aspose.slides

Aspose.cells和aspose.slides
EN

Stack Overflow用户
提问于 2018-01-23 08:49:56
回答 1查看 354关注 0票数 0

我是新来的。请帮助我达到以下要求。Requirement:-我正在尝试创建一个应用程序,它可以处理excel文件,并且基于excel数据应用程序将生成一个输出文件( ppt扩展名)。

特殊指导:-请注意,我将提供ppt模板,该模板将有一个特定的占位符,其中的数据将插入从上传的excel。

正在进行中的工作:-我在我的项目中同时添加了Aspose.CellsAspose.Slides dll,并在PoC下面编写。

代码语言:javascript
复制
private void button1_Click(object sender, EventArgs e){
Workbook wb = new Workbook(@“C:\Users\Nilanjan\Desktop\Incident.xlsx”);
Worksheet ws = wb.Worksheets[0];
Cells cells = ws.Cells;
int col = CellsHelper.ColumnNameToIndex(“N”);
int last_row = ws.Cells.GetLastDataRow(col);
DataTable dt = wb.Worksheets[0].Cells.ExportDataTable(0, 0,
wb.Worksheets[0].Cells.MaxDataRow + 1, wb.Worksheets[0].Cells.MaxDataColumn + 1);
Presentation ps = new Presentation();
ISlide slide=ps.Slides[0];
slide=ps.Slides[1];
ps.Save(@“C:\Users\Nilanjan\Desktop\CocoonIncident1.pptx”,Aspose.Slides.Export.SaveFormat.Pptx );
}

到目前为止,我已经尝试将excel上传到我的代码中,在处理它之后,我能够用excel数据填充DataTable,现在下一步是用该DataTable数据填充ppt-模板。请帮助我实现这一功能,或请建议一个适当的解决办法。如果需要ppt模板或excel文件,请告诉我。

EN

回答 1

Stack Overflow用户

发布于 2018-01-23 19:32:52

@Nilanjan

我已经注意到您对将DataTable添加到PowerPoint幻灯片的要求。在DataTable幻灯片中添加PowerPoint没有直接的方法。您需要访问DataTable中的每个单元格,并按照PowerPoint或Aspose.Slides支持的机制将其添加到PowerPoint幻灯片中。我建议您试着在您的端使用以下示例代码。

代码语言:javascript
复制
    public static void DataTableToSlides()
    {
        String path = @"C:\Aspose Data\";

        System.Data.DataTable table = new System.Data.DataTable();
        table.Columns.Add("Term", typeof(string));
        table.Columns.Add("Value", typeof(float));

        table.Rows.Add(@"Term 16", 1.5);
        table.Rows.Add(@"Term 15", 0.7);
        table.Rows.Add(@"Term 14", 0.7);
        table.Rows.Add(@"Term 13", 0.6);
        table.Rows.Add(@"Term 12", 0.6);


        Presentation pres = new Presentation();
        ISlide slide = pres.Slides[0];
        double[] colWidth = { 100, 100 };
        double[] rowHeight = { 40};// 40, 40,40,40,40 };//1 row additional to hold the headers

        ITable slidesTable = slide.Shapes.AddTable(100, 10, colWidth, rowHeight);
        slidesTable[0, 0].TextFrame.Text = table.Columns[0].ColumnName;
        slidesTable[1, 0].TextFrame.Text = table.Columns[1].ColumnName;

        for (int i=0;i<table.Rows.Count;i++)
        {
            DataRow row = table.Rows[i];
            slidesTable.Rows.AddClone(slidesTable.Rows[0], false);
            slidesTable[0, i + 1].TextFrame.Text = row[0].ToString();
            slidesTable[1, i + 1].TextFrame.Text = row[1].ToString();
        }

        pres.Save(path + "Saved.pptx",Aspose.Slides.Export.SaveFormat.Pptx);
    }

我在Aspose做支持开发人员/布道者。

非常感谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48397515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档