Excel integration with oxide

Hello,
I am trying to make a record statistics mod for various things in rust and make a statistical analysis. I don't want to use mysql or things like that Excel is a easy to use and efficient program for that. 

 

I tried to make a different class for Excel operations. Copied Microsoft.Office.Interlop.Excel.dll to RustDedicated_Data/Managed but i am getting:

Error while compiling: Test.cs(18,9): error CS0246: The type or namespace name `_Application' could not be found. Are you missing an assembly reference?

I am not sure even it is possible to use dlls like this but i want to ask if possible how?

Here is the Excel part of the code. This is only a test code.

using Oxide.Core.Libraries.Covalence;
using System.Collections.Generic;
using UnityEngine;
using Microsoft.Office.Interop.Excel;
using System;

namespace Oxide.Plugins
{

    public class Excel
    {
        Worksheet ws;
        Workbook wb;
        _Application excel = new Microsoft.Office.Interop.Excel.Application();

        public Excel()
        {

        }
        public void CreateNewFile()
        {
            this.wb = excel.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
        }
        public void SaveAs(string path)
        {
            wb.SaveAs(@"testas1d");
            wb.Close();
        }
    }
}
You'd have to add a reference to the other DLL you are using by adding "// Reference: DLLName" at the top of your plugin.
Do you mean like this? this is the full code

// Reference: Microsoft.Office.Interop.Excel.dll
using Oxide.Core.Libraries.Covalence;
using System.Collections.Generic;
using UnityEngine;
using Microsoft.Office.Interop.Excel;
using System;

namespace Oxide.Plugins
{

    public class Excel
    {
        Worksheet ws;
        Workbook wb;
        _Application excel = new Microsoft.Office.Interop.Excel.Application();

        public Excel()
        {

        }
        public void CreateNewFile()
        {
            this.wb = excel.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
        }
        public void SaveAs(string path)
        {
            wb.SaveAs(@"testas1d");
            wb.Close();
        }
    }

    [Info("Test", "Murad", "0.1")]
    [Description("testing me")]
    public class Test : RustPlugin
    {
        const string EliteCrate = "assets / bundled / prefabs / radtown / crate_elite.prefab";
        const string BasicCrate = "assets/bundled/prefabs/radtown/crate_basic.prefab";
        const string NormalCrate = "assets/bundled/prefabs/radtown/crate_normal.prefab";
        const string RoadCrate = "assets/bundled/prefabs/radtown/crate_normal_2.prefab";

        private void Loaded()
        {
            Puts("Loaded Test Plugin");
        }

        [ConsoleCommand("test1")]
        private void testing(ConsoleSystem.Arg arg)
        {
            Excel excel = new Excel();
            excel.CreateNewFile();
            excel.SaveAs(@"test");
        }


        [ConsoleCommand("testp")]
        private void CommandTest(ConsoleSystem.Arg arg)
        {
            Puts("Tested");
            for (int i = 0; i < 3; i++)
            {
                var Crate = SpawnCrate();
                GetItems(Crate);
                Crate.Kill();
            }



        }

        private void GetItems(BaseEntity Crate)
        {
            Puts("-------------");
            foreach (Item item in Crate.GetComponent<StorageContainer>().inventory.itemList)
            {
                Puts(item.info.shortname);
            }
            Puts("-------------");
        }


        private Vector3 Player_Position_offset(BasePlayer player)
        {
            Vector3 spawn_vector = new Vector3(player.GetNetworkPosition().x + 1.5f, player.GetNetworkPosition().y + 1.5f, player.GetNetworkPosition().z + 1.5f);
            return spawn_vector;
        }


        private BaseEntity SpawnCrate(Vector3 pos)
        {
            BaseEntity Crate = GameManager.server.CreateEntity(NormalCrate, pos);
            Crate.Spawn();
            return Crate;
        }

        private BaseEntity SpawnCrate()
        {
            BaseEntity Crate = GameManager.server.CreateEntity(NormalCrate,new Vector3(0,0,0));
            Crate.Spawn();
            return Crate;
        }
    }


}​
I believe you can drop the .dll, but yes.