亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在EXECL文件中同時導入數據和插入圖片的方法

發布時間:2020-09-21 14:32:35 來源:億速云 閱讀:162 作者:小新 欄目:編程語言

這篇文章主要介紹了在EXECL文件中同時導入數據和插入圖片的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

因為項目需要在導出數據到EXECL文檔的同時還需要導出圖片進去,在處理是遇到的一些問題,在此記錄一下。

首先代碼寫好之后放測試服務器上去執行的時候報錯了,報檢索 COM 類工廠中 CLSID 為 {00024500-0000-0000-C000-000000000046} 的組件時失敗,原因是出現以下錯誤: 80070005。

這個解決方法我基本上是按照網上來進行解決的,但是需要注意的就是,設置完權限之后,還需要在服務器安裝的office文件夾分配權限。

權限問題設置完之后就是調試代碼了,網上搜索到的資料都是先插入數據,然后在數據的最后插入圖片,而不是我想要的每一行都有圖片,所以不符合我的需求,于是就自己看著網上的代碼整吧整吧。

/// <summary>/// /// </summary>/// <param name="dt">數據源</param>/// <param name="filepath">文件路勁例如(E:\\Execl\\201706070001.xls)</param>protected void ExportExcel(DataTable dt, string filepath)
        {if (dt == null || dt.Rows.Count == 0) return;

            Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();object m_objOpt = System.Reflection.Missing.Value;if (xlApp == null)
            {return;
            }//System.Globalization.CultureInfo CurrentCI = System.Threading.Thread.CurrentThread.CurrentCulture;System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");

            Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;

            Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);

            Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];

            Microsoft.Office.Interop.Excel.Range range;long totalCount = dt.Rows.Count;long rowRead = 0;for (int i = 0; i < dt.Columns.Count; i++)

            {

                worksheet.Cells[1, i + 1] = dt.Columns[i].ColumnName;

                range = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[1, i + 1];

                range.Interior.ColorIndex = 15;

            }for (int r = 0; r < dt.Rows.Count; r++)
            {for (int i = 0; i < dt.Columns.Count; i++)
                {try{if (i == 4)
                        {
                            range = worksheet.get_Range("E" + (r + 2), m_objOpt); //這里是因為我要給文檔的E列插入圖片,所以加了判斷,并寫死了E列
                            range.Select();float PicLeft, PicTop;
                            PicLeft = Convert.ToSingle(range.Left);
                            PicTop = Convert.ToSingle(range.Top);

                            range.ColumnWidth = 60;//設置單元格的寬
                            range.RowHeight = 120;//設置單元格的高worksheet.Shapes.AddPicture(dt.Rows[r][i].ToString(), Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, PicLeft, PicTop, 100, 100);//這后面的100 是設置圖片的寬高
                        }elseworksheet.Cells[r + 2, i + 1] = dt.Rows[r][i].ToString();
                    }catch{
                        worksheet.Cells[r + 2, i + 1] = dt.Rows[r][i].ToString().Replace("=", "");
                    }
                }
                rowRead++;
            }


            xlApp.Visible = true;

            workbook.Saved = true;

            workbook.SaveAs(filepath);


            workbook.Close(true, Type.Missing, Type.Missing);

            workbook = null;

            xlApp.Quit();

            xlApp = null;
        }

感謝你能夠認真閱讀完這篇文章,希望小編分享在EXECL文件中同時導入數據和插入圖片的方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

福建省| 雷波县| 民勤县| 大兴区| 紫云| 化州市| 兰考县| 榆社县| 措美县| 灌阳县| 大名县| 长垣县| 广宗县| 寻乌县| 永胜县| 文化| 汝州市| 富宁县| 霍林郭勒市| 韶山市| 金沙县| 白朗县| 玉龙| 敦煌市| 罗甸县| 任丘市| 交城县| 香河县| 华坪县| 紫金县| 南安市| 大宁县| 杂多县| 南充市| 内黄县| 山西省| 汉寿县| 阿巴嘎旗| 德钦县| 武宁县| 革吉县|