import pandas as pd
import numpy as np

def create_template(output_file='windfarm_template.xlsx'):
    # Create sample data similar to the internal generator
    data = []
    
    # Add Substation
    data.append({
        'Type': 'Substation',
        'ID': 'Sub1',
        'X': 4000,
        'Y': -800,
        'Power': 0,
        'PlatformHeight': 0
    })
    
    # Add Turbines (Grid layout)
    n_turbines = 30
    spacing = 800
    n_cols = 6
    
    for i in range(n_turbines):
        row = i // n_cols
        col = i % n_cols
        x = col * spacing
        y = row * spacing
        data.append({
            'Type': 'Turbine',
            'ID': i,
            'X': x,
            'Y': y,
            'Power': np.random.uniform(6.0, 10.0),
            'PlatformHeight': 0
        })
        
    df = pd.DataFrame(data)
    
    # Create Cable data
    cable_data = [
        {'CrossSection': 35, 'Capacity': 150, 'Resistance': 0.524, 'Cost': 8, 'Optional': ''},
        {'CrossSection': 70, 'Capacity': 215, 'Resistance': 0.268, 'Cost': 12, 'Optional': ''},
        {'CrossSection': 95, 'Capacity': 260, 'Resistance': 0.193, 'Cost': 15, 'Optional': ''},
        {'CrossSection': 120, 'Capacity': 295, 'Resistance': 0.153, 'Cost': 18, 'Optional': ''},
        {'CrossSection': 150, 'Capacity': 330, 'Resistance': 0.124, 'Cost': 22, 'Optional': ''},
        {'CrossSection': 185, 'Capacity': 370, 'Resistance': 0.0991, 'Cost': 27, 'Optional': ''},
        {'CrossSection': 240, 'Capacity': 425, 'Resistance': 0.0754, 'Cost': 35, 'Optional': ''},
        {'CrossSection': 300, 'Capacity': 500, 'Resistance': 0.0601, 'Cost': 45, 'Optional': ''},
        {'CrossSection': 400, 'Capacity': 580, 'Resistance': 0.0470, 'Cost': 60, 'Optional': ''}
    ]
    df_cables = pd.DataFrame(cable_data)
    
    # Create System Parameters data
    param_data = [
        {'Parameter': 'Voltage (kV) / 电压 (kV)', 'Value': 66},
        {'Parameter': 'Power Factor / 功率因数', 'Value': 0.95},
        {'Parameter': 'Electricity Price (元/kWh) / 电价 (元/kWh)', 'Value': 0.4},
        {'Parameter': 'Project Lifetime (years) / 工程运行期限/年', 'Value': 25},
        {'Parameter': 'Discount Rate (%) / 折现率%', 'Value': 8},
        {'Parameter': 'Annual Loss Hours (hours) / 年损耗小时数/小时', 'Value': 1400}
    ]
    df_params = pd.DataFrame(param_data)
    
    # Save to Excel
    with pd.ExcelWriter(output_file) as writer:
        df.to_excel(writer, sheet_name='Coordinates', index=False)
        df_cables.to_excel(writer, sheet_name='Cables', index=False)
        df_params.to_excel(writer, sheet_name='Parameters', index=False)
    print(f"Created sample file: {output_file} with sheets 'Coordinates', 'Cables', and 'Parameters'")

if __name__ == "__main__":
    create_template()