簡體   English   中英

如何為Excel表格單元格設置值

[英]How to Set Values To Excel Sheet Cells

我試圖設置從A列和第二個Excel工作表行開始的Excel工作表特定的單元格。 我寫了以下代碼:

if (!File.Exists(AppConfiguration.FilePath))
{
    throw new FileNotFoundException("File Not Found. The requested template.xlsx was not found on the server");
}

Microsoft.Office.Interop.Excel.Application xlsx = new Microsoft.Office.Interop.Excel.Application();
Workbook workbook = null;

try
{
    workbook = xlsx.Workbooks.Open(AppConfiguration.FilePath, ReadOnly: false, Editable: true);
    Worksheet worksheet = workbook.Worksheets[1];
    Microsoft.Office.Interop.Excel.Range cells = worksheet.Cells["$A"];
    List<Analytics> list = (List<Analytics>)data;

    for (int i = 0; i < list.Count; i++)
    {
        ((Microsoft.Office.Interop.Excel.Range)cells[i + 1, 0]).Value = list[i].ProductShare;
        ((Microsoft.Office.Interop.Excel.Range)cells[i + 1, 1]).Value = list[i].MarketPotential;
    }

    workbook.Save();
}
catch(Exception e)
{
    throw new Exception("Error while processing file");
}
finally
{
    workbook.Close(SaveChanges: true);
    xlsx.Quit();
    Marshal.ReleaseComObject(workbook);
}

但是,我總是在

(Microsoft.Office.Interop.Excel.Range)cells[i + 1, 0]).Value = list[i].ProductShar

在Excel中,索引以1開頭,因此cells[i + 1, 0]無效,請改用cells[i + 2, 1]

for(int i = 0; i< list.Count; i++)
{
   worksheet.Range[string.Format("A{0}", i + 2].Value = list[i].val;
}

從A2開始,我開始在列表中寫入要查找的值! 感謝大家的寶貴時間和考慮!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM